测试学习---python(四)

测试学习—python(四)

提要
  • 元组
  • 字典

元组 tuple

  1. 作用:
  • 元组中可以存放任意类型的数据
  • 元组中可以存放任意多个数据
  • 在函数的传参或返回值中使用,保证数据不会被修改。
  1. 元组 与列表的区别
  • 元组中数据不能改变
  • 元组使用(),列表使用()
  1. 格式
  • 使用类实例化的方式
  • 直接使用()方式
# 1, 类实例化的⽅式
# 1.1 定义空元祖(不会使⽤的)
tuple1=tuple()
# 1.2 类型转换
# 可以将列表转换为元组, 只需要将 [], 变为 (), 同时 可以将元组转换列表 , 将() 变为 []
tuple1=tuple([1,2,3])
# 转换字符串, 和列表中⼀样,只是将列表的[] 变为()
tuple1=tuple('straaa')
# 2. 直接使⽤ () 定义
tuple1=tuple(1.'xiao',1.222,False)
# 3. 特殊点, 定义只有⼀个数据的元组时, 数据后边必须有⼀个逗号
tuple1=tuple(1,)
  1. 常用查看方法
  • 在元组中使用下标和切片获取数据
  • 在元组中使用index()方法,查找数据
  • 在元组中使用count()方法,统计数据出现的次数
  • 在元组中使用in 操作,判断数据是否存在
  • 使用len()方法统计个数

字典 dict

  1. 作用:
  • 字典 dict, 字典中的数据是由键(key)值(value)对组成的(键表示数据的名字, 值就是具体的数据)
  • 在字典中⼀组键值对是⼀个数据, 多个键值对之间使⽤ 逗号隔开
    变量 = {key: value, key:value, …}
  • ⼀个字典中的键是唯⼀的,不能重复的, 值可以是任意数据
  • 字典中的键 ⼀般都是 字符串,可以是数字, 不能是列表
  1. 格式
  • 使用类实例化方式
mydict=dict()
  • 直接使用{}定义
# 空字典
mydict={}
#非空字典
mydict={"name":"小明""age0":18,"height":1.71,"is_men":Ture,"like":['抽烟''喝酒'.'烫头']}
  1. 规则:dict不能转列表和元组

增加和修改操作

  • 格式:字典[键]=数据值
  • 如果键已经存在,就是修改数据值
  • 如果键不存在,就是添加数据(即添加键值对)

删除操作 del

  1. 删除指定键值对
  • del 字典[键]
  • 字典.pop(键)
#删除字典中的数据(键值对)
mydict.pop('key')
#删除字典中的列表中的数据(这里pop(0),0为要删除的内容在列表'key'中的下标,)
mydict['key'].pop(0)
  1. 清空
  • 字典.clear()

查询-根据键获取对应的值

  1. 与其他容器(列表,元组)的区别
    字典中没有下标的概念,想要获取数据值,要使⽤ key(键)来获取
  2. 格式:
  • 字典[键]
    如果键存在 返回键对应的数据值,
    如果键不存在, 会报错
  • 字典.get(键)
    如果键不存在,返回的是None

字典遍历

  1. 对字典的键进行遍历 keys()
    for 变量 in 字典:
    print(变量)
    for 变量 in 字典.keys()
    print(变量)
#遍历键
for k in dict:
   print(k)
 #遍历键 keys()方法
 for k in dict.keys():
    print(k)
  1. 对字典的值进行遍历 value()
for v in dict.values()
	print(v)
  1. 对字典的键,值遍历 items()
for k,v in dict.items()
   print(k,v)

容器总结

# 1. 字符串, 列表, 元组 ⽀持加法运算
str1 = 'hello' + ' world' # 'hello world'
list1 = [1, 2] + [3, 4] # [1, 2, 3, 4]
tuple1 = (1, 2) + (3, 4) # (1, 2, 3, 4)
# 2. 字符串 列表 元组 ⽀持 乘⼀个数字
'hello ' * 3 # ===> 'hello hello hello '
[1, 2] * 3 # ===> [1, 2, 1, 2, 1, 2]
(1, 2) * 3 # ===> (1, 2, 1, 2, 1, 2)
# 3. len() 在 容器中都可以使⽤
# 4. in 关键字在容器中都可以使⽤, 注意, 在字典中判断的是字典的键是否存在

案例

列表的增删改查统计操作

'''
列表增删改查统计
'''
mylist=["hello","python","itcase","hello"]
#增
mylist.append("heima")
print(mylist)
#删
mylist.pop(0)
print(mylist)
mylist.remove("hello")
print(mylist)
#改
mylist[0]="chuanzhi"
print(mylist)
#查下标
a=mylist.index("chuanzhi")
print(a)
#查数据
b=mylist[2]
print(b)
c=mylist.count("hello")
print(c)
#查长度
d=len(mylist)
print(d)


测试数据收集函数

要求:

  1. 自定义程序, 实现如下要求
  2. 能够获取测试人员输入的信息(登录/测试)
  3. 获取每组测试数据的用户名,密码和预期结果 组成一下的数据格式进行打印
    [(), (), ()] 或者 [[], [], []]
'''
1. 自定义程序, 实现如下要求
2. 能够获取测试人员输入的信息(登录/测试)
3. 获取每组测试数据的用户名,密码和预期结果 组成一下的数据格式进行打印
[(), (), ()] 或者 [[], [], []]
'''
my_dict = {
  "登录": [
    {
      "desc": "正确的用户名密码",
      "username": "admin",
      "password": "123456",
      "expect": "登录成功"
    },
    {
      "desc": "错误的用户名",
      "username": "root",
      "password": "123456",
      "expect": "登录失败"
    },
    {
      "desc": "错误的密码",
      "username": "admin",
      "password": "123123",
      "expect": "登录失败"
    },
    {
      "desc": "错误的用户名和密码",
      "username": "aaaa",
      "password": "123123",
      "expect": "登录失败"
    }
  ],
  "注册": [
    {
      "desc": "注册1",
      "username": "abcd",
      "password": "123456"
    },
    {
      "desc": "注册1",
      "username": "xyz",
      "password": "123456"
    }
  ]
}

# 1. 自定义程序, 实现如下要求
# 2. 能够获取测试人员输入的信息(登录/测试)
def ceshiinform():
    inform=[]
    mytuple=()
    opt=input("请输入需要获取的信息:")
    print(f"想要获取的信息为{opt}")
    if opt=='注册':
        print('获取注册信息如下:')
        #i遍历的是列表(my_dict.get('注册'))中的元素,i是字典类型
        for i in my_dict.get('注册'):
                    mytuple=(i.get('username'),i.get('password'))
                    inform.append(mytuple)
        print(inform)
    elif opt=='登录':
        print ('获取登录信息如下:')
        for i in my_dict.get('登录'):
            mytuple=((i.get('username')),i.get('password'))
            inform.append(mytuple)
        print(inform)
    # 3. 获取每组测试数据的用户名,密码和预期结果 组成一下的数据格式进行打印
# [(), (), ()] 或者 [[], [], []]

ceshiinform()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值