Python 常用复合数据类型:元组与命名元组详解

2026-05-13 16:38:36
关注

Python 常用复合数据类型:元组与命名元组详解

摘要

元组作为一种不可变序列类型,能够容纳多种数据类型的元素,具备良好的稳定性和可哈希特性,适用于如字典键等场景。而命名元组作为其子类,通过字段名称增强了数据可读性,提升了代码表达的清晰度。本文详细讲解了这两类元组的使用技巧及其适用场景。

文档与代码下载方式

本文主要面向具备基础 Python 编程知识以及嵌入式开发经验的读者,重点介绍面向对象编程在上位机开发中的具体应用。相较于市面上其他教程,本文结合串口通信、数据处理和动态图示等实例,使用 Sourcetrail 可视化工具辅助代码理解,具备更强的工程实用性。

正文

元组的定义与特性

元组是一种有序结构,用于按顺序存储多个对象。其最大的特点在于不可变性,即一旦创建后,不能修改其中的元素。这一特性使得元组能够被安全地用于需要哈希值的场景,如作为字典的键。

元组主要用于数据的存储,而非行为的封装。要对元组中的元素进行操作,通常需要将其传递给函数或方法。在数据结构设计中,元组常用于将不同性质的数据组合成一个逻辑单元。

通常情况下,元组中的元素具有不同含义,比如可以表示传感器 ID、当前值、最大值和最小值等。这种组合方式有助于将数据封装在一个统一的结构中,从而替代没有行为的简单数据对象。

元组可以通过逗号分隔的方式直接创建,虽然括号不是必须的,但为了提升可读性,通常建议使用。例如:

# 传感器信息的元组表示sensor_tuple = ("16", 32, 62, 2)print(sensor_tuple, type(sensor_tuple))# 不使用括号创建元组,语法仍然成立sensor_tuple = "16", 32, 62, 2print(sensor_tuple, type(sensor_tuple))

在函数调用、列表推导或生成器等上下文中,括号是必须的,否则 Python 解释器可能无法正确识别元组。此外,当函数返回多个值时,通常返回的是一个元组。接收方可以使用解包操作将元组中的值分配到多个变量中。

命名元组的引入与使用

普通元组通过索引访问元素,当元素较多时,容易导致可读性下降,增加开发人员理解数据结构的难度。此外,在函数返回值传递过程中,若顺序或数量不匹配,容易引发错误。

命名元组为此类问题提供了优化方案。它在元组的基础上扩展了字段名称,使得访问过程更加直观。适用于只读数据结构的构建,尤其适合用于表示“仅有数据”的对象。

使用命名元组前,需从 collections 模块导入 namedtuple 工具。通过指定类型名称和字段名,可创建自定义的命名元组结构。例如:

from collections import namedtuple# 定义传感器相关的命名元组结构Sensor = namedtuple("Sensor", "ID CURRENTVALUE MAXVALUE MINVALUE")sensor_tuple = Sensor(ID="16", CURRENTVALUE=32, MAXVALUE=62, MINVALUE=2)# 访问命名元组中的字段,如同访问类属性print(sensor_tuple.CURRENTVALUE)print(sensor_tuple, type(sensor_tuple), type(Sensor))

与普通元组类似,命名元组也是不可变的,一旦设定,字段值无法更改。因此,如果需要可修改的数据结构,应考虑使用字典或自定义类。

您觉得本篇内容如何
评分

相关产品

HOTO 汇投智控 HT6204 多合一传感器

多合一传感器可以同时测量多种气体指标,包括激光粉尘传感器、CO2传感器、TVOC传感器和温湿度传感器,多种数据以数字接口的形式统一输出。

微著科技 高性能传感器ASIC解决方案 MEMS传感器

微著科技是国内为数不多能够给传感器厂商提供定制高性能传感器解决方案的团队,目前已为国内众多院所及知名传感器公司提供了十余个传感器解决方案并已经实现量产。微著传感器ASIC方案的特点:成熟的仪表信号模块IP易于快速搭建;系统方案超低噪声;成熟的24ADC可同时实现模拟数字传感器方案设计;高效率及丰富的方案设计经验。

EC Sense 爱氪森科技 MP6 四气体传感器模组 MP6 四气体传感器模组

• 灵活的传感器适配性• 模块化的结构设计• 小体积• 传感器工作状态自动判断• 5-24V DC宽范围供电• 同时采集气体和温湿度传感器的测量数据• DS4氧气和毒气传感器寿命自动监测

Yanmade 燕麦科技 线体式MEMS传感器测试校准设备 MEMS传感器测试

用于温度传感器、湿度传感器和传感器的校准和测试;设备内置智能数据分析模块,可对测试数据进行自动处理、分析,生成测试报告。

Huba Control 富巴 212系列 流量传感器

212系列流量传感器是基于卡曼涡街(Karmen Vortex Trail)原理。该系列压力传感器带有数字显示器。可显示流量和温度。作为选项,客户还可以选择温度测量。由于没有运动部件,此流量传感器对水质要求不高, 压力损失小,精度高。 • 直接测量介质的流量和温度

方舟 位移传感器 传感器产品

公司坐拥 10000 平方米研发制造基地,现有员工 400 余人,长期专注于柔性集成电路及各类柔性传感器的研发、生产与系统化解决方案。依托自主柔性传感技术平台,产品广泛应用于机器人、新能源汽车、消费电子、精准医疗等高端领域,市场覆盖持续拓展。与此同时,公司设有广东省博士工作站,深度参与《亚洲机器人传感白皮书》编制及多项国家标准制定,先后荣获广东省科学技术奖三等奖等多项重磅科技荣誉。未来,方舟智造将持续筑牢柔性制造技术根基,不断拓展多元传感技术边界,以创新驱动产业高质量发展。

评论

您需要登录才可以回复|注册

提交评论

提取码
复制提取码
点击跳转至百度网盘