首先要知道的是python3中有typing模块含有类NamedTuple,collections模块含有函数namedtuple(该函数返回一个tuple的子类),这是官方文档传送门。
collections.namedtuple
namedtuple将创建一个和tuple类似的object,其中的元素可通过属性名访问,也可通过像tuple一样的下标来访问。其好处是通过名称访问数据能够让我们的代码更加的直观、规范,
from collections import namedtuple
# 定义一个namedtuple类型User,并包含name,sex和age属性。
User = namedtuple('User', ['name', 'sex', 'age'])
# 创建一个User对象
user = User(name='kongxx', sex='male', age=21)
# 也可以通过一个list来创建一个User对象,这里注意需要使用"_make"方法
user = User._make(['kongxx', 'male', 21])
print(user)
# User(name='user', sex='male', age=21)
# 获取用户的属性
print(user.name)
print(user.sex)
print(user