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