collections.namedtuple

使用 namedtuple 定义一个新类型 Person 如下所示:

Person = namedtuple('Person', ['age', 'height', 'name'])

第二个参数是元组将具有的属性列表。你可以将这些属性列为空格或逗号分隔的字符串:

Person = namedtuple('Person', 'age, height, name')

要么

Person = namedtuple('Person', 'age height name')

一旦定义,可以通过使用必要参数调用对象来实例化命名元组,例如:

dave = Person(30, 178, 'Dave')

也可以使用命名参数:

jack = Person(age=30, height=178, name='Jack S.')

现在你可以访问 namedtuple 的属性:

print(jack.age)  # 30
print(jack.name)  # 'Jack S.'

namedtuple 构造函数的第一个参数(在我们的示例中为'Person')是 typename。通常对构造函数和 typename 使用相同的单词,但它们可以不同:

Human = namedtuple('Person',  'age, height, name')
dave = Human(30, 178, 'Dave')
print(dave)  # yields: Person(age=30, height=178, name='Dave')