具名元組的使用方法總結

具名元組

首先元組支持拆包,通過*args的形式

>>>a, b, *test = range(5)
>>>a, b, test
(0, 1, [2, 3, 4])

好的,那接下來,變量test已經有值了,毫無疑問test = [2, 3, 4]
但有時候我們可能需要取到test中某一個元素的值,例如2,當然我們可以選擇列表切片,那有沒有一種更好的辦法呢?
這裏就可以採用具名元組的方式,給test中的每一個字段命名。

import collections
>>>People = collections.namedtuple('Card', ['name', 'age'])
>>>xiaohong = People('xiaohong', '18')
>>>xiaohong
People(name='xiaohong', age='18')
>>>xiaohong.name
xiaohong
>>>xiaohong.age
18

說明:

1.創建具名元組需要兩個參數,一個是類名,一個是類的各個字段的名字。後者可以是由數個字符串組成的可迭代對象。
2.存放在對應字段裏的數據要以一串參數的形式傳入到構造函數中
3.可以通過字段名和位置來獲取一個字段的信息

屬性和方法

# 獲取類包含所有的字段名稱
>>>Poeple._fields
('name', 'age')
>>>xiaoming = ('xiaoming', 19)
# _make接收一個可迭代對象來生成一個類的實例
>>>xiaoming = People._make(xiaoming)
# _asdict()是具名元組以collections.OrderedDict的形式返回,進行更有好的顯示
>>>xiaoming._asdict()
OrderedDict([('name', 'xiaoming'), ('age', 19)])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章