Python namedtuple命名元组实现过程解析

作者:MilesMa 时间:2022-08-20 14:27:20 

这篇文章主要介绍了Python namedtuple命名元组实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

命名元组(namedtuple)是一种带有属性的元组,它们是组合只读数据的很好的方式。

相比一般的元组,构造命名元组需要先导入namedtuple,因为它不在默认的命名空间里。然后通过名字和属性来定义一个命名元组。这会返回一个像类一样的对象,可以进行多次实例化。

命名元组可以被打包、解包以及做所有可以对普通元组做的事,并且还可以像一个对象一样访问它的某个属性。

命名元组非常适合表示“只有数据”的情况,但并不是对所有情况来说都非常理想。和元组及字符串一样,命名元组也是不可变的,因此一旦为属性设定了值之后就不能更改。

如果需要修改存储的数据,用字典类型会更合适。


from collections import namedtuple

# 创建一个namedtuple的学生类,第一个参数是命名元组的名称,第二个参数是命名元组的属性,多个用空格隔开(或者逗号)
Student = namedtuple('Student', 'gender age height')

# 实例化学生,赋予属性,和上面第二个参数相对应
Miles = Student('Male', 24, 1.92)
Mary = Student('Female', 18, 1.68)

# 查看属性
print(Miles)      # 查看Miles所有属性
print(Mary.height)   # 查看Mary的身高
print(Miles[1])     # 通过索引查看Miles的年龄
print('==============')

# 遍历元组
for i in Mary:
 print(i)

输出:


Student(gender='Male', age=24, height=1.92)
1.68
24
==============
Female
18
1.68

来源:https://www.cnblogs.com/milesma/p/12155841.html

标签:Python,namedtuple,命名,元组
0
投稿

猜你喜欢

  • 深入解析Golang中JSON的编码与解码

    2023-07-04 12:45:32
  • Django+Celery实现动态配置定时任务的方法示例

    2021-06-11 13:56:19
  • nx.adjacency_matrix计算邻接矩阵与真实结果不一致的解决

    2023-12-06 14:23:56
  • Mysql中Insert into xxx on duplicate key update问题

    2024-01-23 22:32:36
  • python3的数据类型及数据类型转换实例详解

    2022-06-30 11:24:45
  • python实现马耳可夫链算法实例分析

    2022-08-13 00:27:08
  • ES6 let和const定义变量与常量的应用实例分析

    2024-05-28 15:41:17
  • python实现简单的计算器功能

    2021-02-08 03:38:54
  • 详细讲解MySQL数据库对文件操作的封装

    2008-12-17 16:08:00
  • python自制包并用pip免提交到pypi仅安装到本机【推荐】

    2023-12-14 19:33:23
  • PHP结构型模式之装饰器模式

    2023-05-30 08:43:07
  • python如何使用jt400.jar包代码实例

    2021-05-07 03:50:46
  • JavaScript 获取事件对象的一个注意点

    2009-07-24 11:49:00
  • JavaScript插件化开发教程 (一)

    2024-04-26 17:13:07
  • 关于Python Tkinter Button控件command传参问题的解决方式

    2021-08-18 23:10:09
  • 利用Python删除电脑中重复文件的方法

    2023-06-19 21:58:20
  • JavaScript forEach()遍历函数使用及介绍

    2024-05-11 09:07:07
  • python找出列表中大于某个阈值的数据段示例

    2022-05-17 17:21:05
  • Django缓存Cache使用详解

    2023-09-06 02:16:33
  • Python异常处理操作实例详解

    2023-05-06 11:31:05
  • asp之家 网络编程 m.aspxhome.com