namedtuple是繼承自tuple的子類。namedtuple建立乙個和tuple類似的物件,而且物件擁有可訪問的屬性
可利用collections.namedtuple構建乙個簡單的類。
from collections import namedtuple
# 定義乙個namedtuple型別user,幷包含name,***和age屬性。
user = namedtuple('user', ['name', '***', 'age'])
# 建立乙個user物件
user = user(name='kongxx', ***='male', age=21)
# 也可以通過乙個list來建立乙個user物件,這裡注意需要使用"_make"方法
user = user._make(['kongxx', 'male', 21])
print(user)
# user(name='user', ***='male', age=21)
# 獲取使用者的屬性
print(user.name)
print(user.***)
print(user.age)
# 修改物件屬性,注意要使用"_replace"方法
user = user._replace(age=22)
print(user)
# user(name='user', ***='male', age=22)
# 將user物件轉換成字典,注意要使用"_asdict"
print(user._asdict())
# ordereddict([('name', 'kongxx'), ('***', 'male'), ('age', 22)])
namedtuple類位於collections模組中,有了namedtuple後通過屬性訪問資料能夠讓我們的**更加的直觀更好維護,下面就來簡單講解python程式設計中namedtuple類的用法
python的collections模組提供了不少好用的資料容器型別,其中乙個精品當屬namedtuple。
namedtuple能夠用來建立類似於元祖的資料型別,除了能夠用索引來訪問資料,能夠迭代,更能夠方便的通過屬性名來訪問資料。
在python中,傳統的tuple類似於陣列,只能通過下標來訪問各個元素,我們還需要注釋每個下標代表什麼資料。通過使用namedtuple,每個元素有了自己的名字,類似於c語言中的struct,這樣資料的意義就可以一目了然了。當然,宣告namedtuple是非常簡單方便的。
**示例如下:
類似於tuple,它的屬性也是不可變的:
能夠方便的轉換成ordereddict:
方法返回多個值得時候,其實更好的是返回namedtuple的結果,這樣程式的邏輯會更加的清晰和好維護:
python中命名元組
實際上 collections.namedtuple 是乙個工廠方法,它返回的是python中標準元組型別的子類。我們提供給它乙個型別名稱以及相應的字段,它就返回乙個可例項化的類為你已經定義好的字段傳入值等。from collections import namedtuple subscriber ...
Python命名元組 namedtuple
python中提供了基礎的不可變資料結構元組tuple,對元組元素的訪問需通過索引來完成,對此需要熟記每個下標對應的具體含義。如果元素數量一多,要記清楚這些東西就會比較麻煩了,於是就出現了命名元組namedtuple。collections.namedtuple point x y 這樣就建立了乙個...
python中的元組 Python中的元組
一 元組 tuple 元組基本上就像乙個不可改變的列表。與列表一樣支援任意型別的元素 支援巢狀以及常見的序列操作。元組也有一些方法,可用dir tuple 檢視。元組編寫在圓括號中。info 林間 man 1991,7,13,true 支援不同型別 info 林間 man 1991,7,13 tru...