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

简介: Python中tuple(元组)的数据结构,包括元组的创建、访问、修改,以及元组支持的运算符和内置函数,还探讨了元组的特性如不可变性和特殊用法,最后扩展介绍了命名元组的概念和使用。

前言

作为python常用的数据类型之tuple(元组);也是不可变数据类型,标识是()圆括号,元素使用逗号隔开,如果是一个元素的元组,也要使用逗号隔开,否则它不是元组。

>>> print((1))
1
>>> print(type((1)))
<class 'int'>
>>> print(type((1,)))
<class 'tuple'>

不可变数据类型

讲到这里,python常用数据类型中的不可变数据类型已经都列举完了:str、number(bool是可变的数据类型)、tuple;什么叫不可变数据类型?简单理解就是当这类数据类型,它的值无论增减内存地址是不变的,这样就可以称之为不可变数据类型。

  • 以int类型为例:
>>> i = 1
>>> j = 1
>>> print(id(i))
140720483874592
>>> i = j+1
>>> print(id(i))
140720483874624
  • 以bool类型为例(所以它是可变的数据类型):
>>> t = True
>>> print(id(t))
140720483592016
>>> t = False
>>> print(id(t))
140720483592048

tuple元组

创建元组

t = () # 空元组

t1 = (1,) # 只有一个元素的元组,(1) 不是元组

print(t1) # 输出(1,)
访问元组
  • 支持索引(下标)取值

t_1 = (1,2,3,4)

print(t_1[1]) # 输出:2
  • 支持切片取值

t_1 = (1,2,3,4)

print(t_1[1:3]) # 输出:(2,3)
# 切片取值取出的是元组
  • 支持反序取值

t_1 = (1,2,3,4)

print(t_1[-1]) # 输出:4
  • 注意正/反序取值的之后 ,[nⓂ️k] k值的正负跟n/m有关

t_1 = (1,2,3,4)

print(t_1[1:4:2]) # 输出:(2,4)

print(t_1[-1:-4:-2]) # 输出:(4,2)

print(t_1[-1:-4:2]) # 输出:() ,不会有值
print(t_1[1:4:-2]) # 输出:() ,不会有值
修改元组

前面说过tuple是不可变数据类型,但是可以拼接组合生成新的元组

  • 支持+加号拼接

t_1 = (1,2,3)
t_2 = (4,5,6)

t_3 = t_1 + t_2

print(t_3) # 输出:(1,2,3,4,5,6)
  • 同理支持*乘法运算

t_1 = (1,2,3)

print(t_1*2) # 输出:(1,2,3,1,2,3)
元组的运算符
  • 上面已经说过支持加法+拼接和*乘法运算,不再举例
  • len支持求取数据元素长度

t_1 = (1,2,3)
t_2 = (4,5,6)

t_3 = t_1+t_2

print(len(t_3)) # 输出:6
  • 支持成员运算,这里先提一嘴,后面在运算符再详细举例
内置函数
  • index能获取元组的元素索引位置
t_1 = (1,2,3,5)

print(t_1.index(5)) # 输出:3
  • count查找元素出现次数
t_1 = (1,2,3,5)

print(t_1.count(5)) # 输出:1
特殊用法
  • 拆包解包,支持使用变量置换元素

t_1 = (1,2)
a,b = t_1

print(a,b) # 输出:1,2

b,a = t_1
print(a,b) # 输出:2,1
  • 没有符号的对象以逗号隔开,默认就是元组数据类型

t_1 = 1,"a","d"

print(t_1) # 输出:(1,"a","d")
print(type(t_1)) # 输出:<class 'tuple'>

扩展

命名元组

它是一个空间,但不是数据类型,在数据方面可以用来储存数据

  • collections.namedtuple(typename, field_names):返回typename命名元组类,field_names是字段。
# cmd进入python命令交互模式

>>> from collections import namedtuple
>>>
>>> test = namedtuple("test",["name","age","addr"])
>>> t = test("joe",18,"aaaa")
>>> print(t)
test(name='joe', age=18, addr='aaaa')
>>> print(t.name)
joe
>>> print(t.age)
18
  • 后面在接口自动化实战中再去详细介绍namedtuple的应用场景
相关文章
|
1月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
2月前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
87 14
|
2月前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
200 61
|
1月前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
69 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
20天前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
122 9
|
1月前
|
JSON 安全 中间件
Python Web 框架 FastAPI
FastAPI 是一个现代的 Python Web 框架,专为快速构建 API 和在线应用而设计。它凭借速度、简单性和开发人员友好的特性迅速走红。FastAPI 支持自动文档生成、类型提示、数据验证、异步操作和依赖注入等功能,极大提升了开发效率并减少了错误。安装简单,使用 pip 安装 FastAPI 和 uvicorn 即可开始开发。其优点包括高性能、自动数据验证和身份验证支持,但也存在学习曲线和社区资源相对较少的缺点。
76 15
|
30天前
|
关系型数据库 API 数据库
Python流行orm框架对比
Python中有多个流行的ORM框架,如SQLAlchemy、Django ORM、Peewee、Tortoise ORM、Pony ORM、SQLModel和GINO。每个框架各有特点,适用于不同的项目需求。SQLAlchemy功能强大且灵活,适合复杂项目;Django ORM与Django框架无缝集成,易用性强;Peewee轻量级且简单,适合小型项目;Tortoise ORM专为异步框架设计;Pony ORM查询语法直观;SQLModel结合Pydantic,适合FastAPI;GINO则适合异步环境开发。初学者推荐使用Django ORM或Peewee,因其易学易用。
|
1月前
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
74 7
|
1月前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
109 15
|
2月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
500 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告

热门文章

最新文章