python中的命名元組namedtuple

2021-08-19 03:13:03 字數 1612 閱讀 2226

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...