已复制
全屏展示
复制代码

巧用Python命名namedtuple

· 1 min read

namedtuple 避免了元组不知道每个索引的值代表的含义的尴尬, 给元组的每一个索引指定一个名称,调用时根据名称调用,同时也可以使用原来的下标方式访问,看例子。

# 命名元组的创建和访问
from collections import namedtuple

Circle = namedtuple('Circle', ['x', 'y', 'radius'])
circle = Circle(1, 2, 3)
print(circle.x)
print(circle.y)
print(circle[2])


# 另外一种方式创建对象实例
circle1 = Circle._make([5,6,7])
print(circle1)


# 修改命名元组的值
circle = circle._replace(x=10)
print(circle.x)


# 命名元组转换成字典
circle = circle._asdict()
print(circle)
for k,v in circle.items():
    print(k,v)


# 列出命名元组的所有字段
circle._fields


# 查看该对象的类的创建代码,是一个格式化的字符串
print(user._source)
🔗

文章推荐