Python接口自动化测试框架(基础篇)-- 常用数据类型dict

简介: 这篇文章详细介绍了Python中字典(dict)数据类型的使用,包括字典的创建、取值、增删改操作以及内置函数的应用,并探讨了字典的扩展特性,如键的唯一性和不可变性。

前言

接下来的两篇是讲可变数据类型,最后讲dict,从作者使用经验来看,常用的数据类型顺序应该是dict、list、str、tuple、bool(常用作判断条件)、int。<当然还有其他人有不同的看法>

image.png

字典

关键字:dict,符号{},它是可变容器模型且可存任意类型对象;以key:value的形式保存数据,key:唯一,不可迭代的数据类型:int float 布尔值 元组 &value:可以包含任意数据类型:int float str list tuple dict 布尔值

创建字典
  • 代码举例,不同不可变的数据类型为key的情形
dict_1 = {
   
   }  # 表示空字典

dict_2 = {
   
   "a":"b"}

dict_3 = {
   
   (1,):2,1.1:2,True:False}
AI 代码解读
取值方式
dict_1 = {
   
   "k1":"v1"}

dict_1[key] # 即获取指定key的值

dict_1.get(key) #获取key的值,不存在返回none,较上一个字典取值方法灵活
AI 代码解读
增删改
  • 增改:赋值运算,如果key不存在,就是新增,反之就是修改
dict_1 = {
   
   }
dict_1["key"] = "value" 

print(dict_1) # 输出:{"key":"value"}
AI 代码解读
  • dict删除除了del其他都是通过函数实现
dict_1 = {
   
   "k1":"v1","ke":"ve"}

v = dict_1.pop("k1")  # 删除函数,并返回删除key的value

print(v) # 输出:v1

dict_2 = dict_1.popitem()  # 随机删除一组key:value并返回tuple

print(dict_2) # 输出:("ke","ve")

clear() # 清空字典 没有返回值,原dict_1会变成{}

del dict_1[key] 删除指定key
AI 代码解读
  • update更新函数只能是dict类型
dict1 = {
   
   "k1":"v1"}

dict1.update({
   
   1:2})

print(dict1) # 输出:{'k1': 'v1', 1: 2}
AI 代码解读
内置的函数
  • items(),其中dict的键值对成为一个元组的元素,返回list形式,但不是list数据类型,而是dict_items
dict1 = {
   
   "ke":"ve","k1":"v1"}

li = dict1.items()

print(li) # 输出:dict_items([{"ke":"ve"},{"k1":"v1"}])
AI 代码解读
  • values(),获取dict对象的所有value,以list形式,但不是任何类型,而是dict_values
dict1 = {
   
   "ke":"ve","k1":"v1"}

li = dict1.values() 

print(li) # dict_values(['ve', 'v1'])
AI 代码解读
  • keys(),获取dict对象的所有key,以list形式,但不是任何类型,而是dict_keys
dict_1 = {
   
   "ke":"ve","k1":"v1"}

li = dict_1.keys()

print(li) # 输出:dict_keys(['ke', 'k1'])
AI 代码解读
  • len() 计算变量的长度,在dict中是统计key的总数
  • has_key(key) 用来判断key是否存在dict对象中,否则返回False
dict1 = {
   
   "k1":"1","a":"b","k1":"2"}

b = dict1.has_key("kk")

# Python 3.X 不支持该方法。
print b # 输出:False
AI 代码解读
扩展特性

咱们知道dict类型的key是必须唯一,不可变数据类型,如果key出现重复,它只会记住最后一个值


dict1 = {
   
   "k1":"1","a":"b","k1":"2"}

print(dict1) # 输出:{"k1":"2","a":"b"}
AI 代码解读

总结

在介绍完python常用数据类型之后,各位同学应该总结一下

python数据类型基本操作.png

相关文章
Python接口自动化测试中Mock服务的实施。
总结一下,Mock服务在接口自动化测试中的应用,可以让我们拥有更高的灵活度。而Python的 `unittest.mock`库为我们提供强大的支持。只要我们正确使用Mock服务,那么在任何情况下,无论是接口是否可用,都可以进行准确有效的测试。这样,就大大提高了自动化测试的稳定性和可靠性。
53 0
Python测试报告生成:整合错误截图,重复用例执行策略,调整测试顺序及多断言机制。
如何组织这一切呢?你可以写一本名为“Python测试之道”的动作指南手册,或者创建一个包含测试策略、测试顺序、多断言机制的脚本库。只要你的测试剧本编写得足够独到,你的框架就会像一位执行任务的超级英雄,将任何潜伏于代码深处的错误无情地揪出来展现在光天化日之下。这些整理好的测试结果,不仅有利于团队协作,更像冒险故事中的精彩篇章,带给读者无尽的探索乐趣和深刻的思考。
55 10
|
2月前
|
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
66 5
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025051201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025051201 (Linux, Windows) - 专业渗透测试框架
49 4
Metasploit Pro 4.22.7-2025051201 (Linux, Windows) - 专业渗透测试框架
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
64 4
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
|
2月前
|
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
91 10
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
|
3月前
|
Metasploit Pro 4.22.7-2025042101 发布 - 专业渗透测试框架
Metasploit Pro 4.22.7-2025042101 (Linux, Windows) - 专业渗透测试框架
86 5
Metasploit Pro 4.22.7-2025042101 发布 - 专业渗透测试框架
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
399 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
3月前
|
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
136 1
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
87 0
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问