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')