首页 > 编程语言 > 详细

Python自动化测试(六)

时间:2021-07-17 18:12:43      阅读:25      评论:0      收藏:0      [点我收藏+]
"""
1、元组与列表的的区别是什么?
元组是不可变的 不能修改,不可增加也不可删除
列表是可变的 可以增加,也可以把已有的对象删除
"""

# 2、在列表中,append与insert的方法区别是什么?请举例说明
# append()向列表末尾追加元素。list.append("value")
list1=[Python,C,Java]
list1.append(end)
print(list1)
# insert()在指定位置插入指定的值。list.insert(position, element)
list1.insert(0,go)
print(list1)

# 3、在字符串中,判断字符串开头和字符串结束使用的方法是什么?请举例说明
# 判断字符串以什么开头
str1=Python
print(str1.startswith("P"))
# 判断字符串以什么结束
print(str1.endswith("n"))

"""
4、请详细的描述变量的生命周期
局部变量:函数内部定义时默认局部变量;定义时不分配,使用时分配,使用完释放
全局变量:直到程序结束后释放
"""

# 5、请举例说明字符串格式化的使用
str2=我的姓名:%s,我的年龄:%s
values=(admin,20)
print(str2 % values)
# %s表示动态部分要被替换成字符串类型的值,传入值要符合这个顺序
str3=我的姓名:{name},我的年龄:{age}
print(str3.format(name=admin,age=20))
str4=my sge is {1},my name is {0}
print(str4.format(admin,20))
# 指定位置,传入值要符合这个顺序

# 6、请举例说明列表中sort()方法的使用
# list.sort(cmp=指定了该参数会使用该参数方法进行排序, key=自行指定, reverse=False(升序)/True(降序))
list1.sort(reverse=False)
print(list1)
list1.sort(reverse=True)
print(list1)
list1.sort(key=str.lower,reverse=True)
print(list1)

# 7、请举例说明列表切片的使用
print(list1[0:2])

# 8、怎么获取列表中最后一位元素?举例说明
print(list1[-1])

# 9、字典是有序的吗?针对字典以key排序举例说明
# 字典无序
dict2={b:3,a:2}
# sorted()对所有对象排序操作 lambda 参数:表达式
print(dict(sorted(dict2.items(),key=lambda item:item[0])))

# 10、针对字典以排序举例说明
print(dict(sorted(dict2.items(),key=lambda item:item[1])))

# 11、举例说明函数的定义和调用
# def 函数名(参数列表):
#     函数体
def hello_word():
    print(hello world)
hello_word()
# 进行调用

# 12、详细描述形式参数与实际参数,并举例说明
def i(a,b):
      s=a*b
# 形式参数可以理解为函数内部定义用的参数。
      return s
print(i(a=2,b=3))
# 实际参数就是调用函数时候传给他的那个参数

# 13、举例说明默认参数的使用
def i(a,b,c=0.1):
      s=a*b+c
      return s
print(i(a=3,b=4))

# 14、什么情况下使用动态参数,举例说明?
# 不确定参数类型的时候调用,且只输出对应值
def func(*args,**kwargs):
      print(args)
      print(args类型, type(args))
      print(kwargs)
      print(kwargs类型, type(kwargs))
      # 形式参数为空
      func()
      # 为list
      func(["Go"])
      # 为字典
      func(name=admin, password=123456)

"""
15、举例说明函数返回值的使用
1、在一个函数中,无关键字return,其返回值为None
2、有return时,其返回值为return后面内容
3、函数返回值可以是函数的形参形式
"""
def login(username,password):
    if username=="admin" and password=="123456":
        return "panduan"
def profile(token):
    if token=="panduan":
        print("显示个人主页")
    else:
        print("请登录")
profile(token=login(username="admin",password="123456"))

"""
16、怎么理解装饰器?请举例说明
Def xx1(被装饰函数):
     def xx2(如果被装饰函数有参数那么输入):
             xxxxxxxxxxxxxxx
             被装饰函数(如果被装饰函数有参数那么输入)
             xxxxxxxxxxxxxxx
             # 如果被装饰函数中含有reture则需要返回被装饰函数
             # 没有则不需要
       reture xx2
"""
# 装饰器函数
def outer(func):
    def inner(name):
        print("log")
        return func(name)
        # inner是inner()函数的对象
        # inner赋值给了fun1
    return inner
@outer
#被装饰的函数
def func1(name):
    print("a")
func1(name="hello Python")

# 17、怎么理解Python中一切皆对象,这个对象具体是什么?
# 变量,类,函数

# 18、结合案例演示os库针对文件路径的处理
import os
# 获取当前路径
print(os.path.dirname(__file__))
# 获取当前的上一路径
print(os.path.dirname(os.path.dirname(__file__)))
# 获取绝对路径
print(os.path.abspath(__file__))

# 19、结合文件IO操作演示文件模式w和a的区别
# w:打开一个文件只用于写入。如果该文件已存在则打开文件,即删除原有内容重新编辑。如果该文件不存在,创建新文件。
# a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件进行写入。

# 20、结合文件IO操作演示with上下文的使用
data_dir=os.path.dirname(__file__)
print(data_dir)
filePath=os.path.join(data_dir,data,login.json)
with open(filePath,r) as f:
    print(f.read())
# 21、怎么理解全局变量与局部变量
# 全局变量:在Python文件中定义的变量
# 局部变量:在Python文件中函数里面定义的变量

# 22、请描述全局变量与局部变量的优先级,举例说明
# 优先级:在函数内部的局部变量高于全局变量
name="123"
def func():
    name="456"
# 函数内部变量
    print(name)
print(name)
func()
# 定义全局
def fun2():
    global name
# global()在局部函数对全局变量重新赋值。可让局部变量全局可用,并且在别的文件里也可以引用到。
    name="hello word"
    print(name)
fun2()

# 23、举例说明字符串中==,is,in的区别和应用
# is:比较的是两个对象的id值是否相等,也就是比较对象是否为同一个实例对象,是否指向同一个内存地址。
# ==:比较的是两个对象的内容是否相等,默认会调用对象的__eq__()方法。
# in:是判断成员是否属于某个序列

# 24、列表lists=["Go","Pyhton","Java","Net"]进行循环输出
lists=["Go","Pyhton","Java","Net"]

# 25、怎么理解序列化和反序列化?结合案例说明
import json
# 元组序列化
tuple1=("go","Python")
tuple_str=json.dumps(tuple1)
print(对象:{0},数据类型:{1}.format(tuple_str,type(tuple_str)))
# 元组反序列化
str_tuple=json.loads(tuple_str)
print(对象:{0},数据类型:{1}.format(str_tuple,type(str_tuple)))

# 26、dict1={"data":[{"name":"wuya","datas":[{"first":"Go","second":["Python","Go","Java"]}]}]}在该字典中获取Python和第二个Go
dict1={"data":[{"name":"wuya","datas":[{"first":"Go","second":["Python","Go","Java"]}]}]}
for item in dict1[data]:
      print(item[datas][0][second][0],item[datas][0][second][1])

# 27、怎么理解break和continue,举例说明
# continue 语句跳出本次循环,而break跳出整个循环。
str1="欢迎回来"
while True:
    for item in str1:
        print(item)
    break
# 定义循环最大次数
for i in range(0,3):
    score=int(input(输入学生成绩:\n))
    if score>=30 and score<60:
          print(成绩不合格)
    elif score>=60 and score<=100:
          print(成绩合格)
    elif score<30:
          print(成绩差)
    else:continue

# 28、字典data={"name":"lisi","work":"测试工程师","datas":[{"salary":1990.09,"age":19,"address":"西安市"},{"salary":1990,"age":20,"address":"兰州市"},{"salary":1990.09,"age":19,"address":[{"陕西省":[{"西安市":["雁塔区","临潼区"]}]}]}]}输出“雁塔区”
data={"name":"lisi","work":"测试工程师","datas":[{"salary":1990.09,"age":19,"address":"西安市"},{"salary":1990,"age":20,"address":"兰州市"},{"salary":1990.09,"age":19,"address":[{"陕西省":[{"西安市":["雁塔区","临潼区"]}]}]}]}
for item in data[datas]:
      if isinstance(item[address],list):
      # isinstance()判断一个类型
            print(item[address][0][陕西省][0][西安市][0])

 技术分享图片

 

 技术分享图片

Python自动化测试(六)

原文:https://www.cnblogs.com/xdcjk/p/15023294.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!