朋友们,今天讲一个结构,python的nametuple,这个东西还是挺方便的。
namedtuple
是 Python 中的一个标准库,它是一个工厂函数,用于创建具有字段名称和属性的元组(tuple)。与普通的元组不同,这些命名元组可以像类的实例一样使用,即可以通过字段名称来访问和操作其中的数据。
使用 namedtuple
可以更加方便地表示复杂的数据结构,而且比普通的元组更易读、更清晰。在一些场景下,namedtuple
也可以作为字典(dict)的替代品,因为它既可以使用字段名称访问数据,又比字典更加轻量级,性能更高。
使用 namedtuple
很简单,只需要导入标准库中的 collections
模块,然后调用其中的 namedtuple
函数即可创建一个命名元组。
from collections import namedtuple
# 定义一个 Point 命名元组,具有 "x" 和 "y" 两个字段
Point = namedtuple('Point', ['x', 'y'])
# 创建一个 Point 类型的实例 p1,分别赋值为 (0, 0)
p1 = Point(0, 0)
# 访问 p1 的 x 和 y 字段
print(p1.x, p1.y) # 输出:0 0
# 创建另一个 Point 类型的实例 p2,分别赋值为 (3, 4)
p2 = Point(3, 4)
# 计算 p1 和 p2 之间的距离
distance = ((p1.x - p2.x) ** 2 + (p1.y - p2.y) ** 2) ** 0.5
print(distance) # 输出:5.0
在上面的代码中,我们首先使用 namedtuple
工厂函数定义了一个名为 Point
的命名元组类型,它包含两个字段 x
和 y
。然后我们创建了两个 Point
类型的实例 p1
和 p2
,并访问它们的字段来进行一些计算。
需要注意的是,虽然命名元组的字段名可以是任意合法的变量名,但通常建议使用 Python 的标识符命名规范,即使用小写字母、单词之间用下划线分隔。这可以使代码更易读、更符合 Python 的惯例。