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