命名元组(NamedTuple)允许你创建一个元组,其中的元素可以通过名称(而不仅仅是索引)来访问。这是通过继承自Python标准库中的collections.namedtuple
工厂函数实现的。
使用命名元组,可以给元组中的每个位置赋予一个名字,并通过这个名字来访问或者引用元组中的元素。
from collections import namedtuple
# 定义一个命名元组类型
Point = namedtuple('Point', ['x', 'y'])
# 创建一个命名元组实例
p = Point(10, 20)
# 通过名称访问元组中的元素
print(p.x) # 输出: 10
print(p.y) # 输出: 20
上面例子中,Point
是一个命名元组类型,它有两个字段:x
和y
。我们可以像访问对象的属性一样,通过.x
和.y
来访问元组中的元素。
命名元组在需要表示固定结构的数据时非常有用,例如表示一个点的坐标、一个日期(年、月、日)或者一个人的(姓名、年龄、性别)等。它们比普通的元组更加易读,同时又比定义一个完整的类要轻便。