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}
取值方式
dict_1 = {
   
   "k1":"v1"}

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

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

print(dict_1) # 输出:{"key":"value"}
  • 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
  • update更新函数只能是dict类型
dict1 = {
   
   "k1":"v1"}

dict1.update({
   
   1:2})

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

li = dict1.items()

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

li = dict1.values() 

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

li = dict_1.keys()

print(li) # 输出:dict_keys(['ke', 'k1'])
  • 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
扩展特性

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


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

print(dict1) # 输出:{"k1":"2","a":"b"}

总结

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

python数据类型基本操作.png

相关文章
|
9天前
|
C语言 Python
python 调用c接口
【10月更文挑战第12天】 ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数
29 0
|
3天前
|
数据安全/隐私保护 Python
python之自动化进入CSDN
python之自动化进入CSDN
7 0
|
13天前
|
测试技术
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
本文是关于自动化测试项目实战笔记,主要介绍了如何测试用户注册功能,包括验证码错误、注册成功以及弹框处理的测试步骤和代码实现。
44 2
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
|
13天前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
66 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
6天前
|
人工智能 安全 决策智能
OpenAI推出实验性“Swarm”框架,引发关于AI驱动自动化的争论
OpenAI推出实验性“Swarm”框架,引发关于AI驱动自动化的争论
|
12天前
|
运维 监控 网络安全
自动化运维的魔法:如何用Python简化日常任务
【10月更文挑战第9天】在数字时代的浪潮中,运维人员面临着日益增长的挑战。本文将揭示如何通过Python脚本实现自动化运维,从而提高效率、减少错误,并让运维工作变得更具创造性。我们将探索一些实用的代码示例,这些示例将展示如何自动化处理文件、监控系统性能以及管理服务器配置等常见运维任务。准备好让你的运维工作升级换代了吗?让我们开始吧!
|
13天前
|
测试技术 数据安全/隐私保护 Python
自动化测试项目实战笔记(四):测试用户登录(账号密码错误,成功,出现弹框等情况)
本文介绍了使用Selenium进行自动化测试时如何测试用户登录的不同情况,包括账号密码错误、登录成功以及处理登录时出现的弹框,并提供了相应的Python代码实现。
25 0
自动化测试项目实战笔记(四):测试用户登录(账号密码错误,成功,出现弹框等情况)
|
13天前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
29 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
13天前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
36 0
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
16天前
|
Web App开发 设计模式 测试技术
自动化测试框架的搭建与实践
【10月更文挑战第5天】本文将引导你理解自动化测试框架的重要性,并通过实际操作案例,展示如何从零开始搭建一个自动化测试框架。文章不仅涵盖理论,还提供具体的代码示例和操作步骤,确保读者能够获得实用技能,提升软件质量保障的效率和效果。