python之命名元組的好處

2022-04-10 22:32:34 字數 1080 閱讀 3958

collections.namedtuple() 命名元組的乙個主要用途是將你的**從下標操作中解脫出來

舉例使用

#

使用from collections import

namedtuple

subscriber = namedtuple('

subscriber

', ['

addr

', '

joined

']) #

需要傳遞乙個型別名和你需要的字段給它,然後它就會返回乙個類

sub = subscriber('

[email protected]

', '

2012-10-19

') #

你可以初始化這個類,為你定義的字段傳遞值

print(sub.addr,sub.joined) #

[email protected] 2012-10-19

下表操作與命名元祖相比:

下標操作通常會讓**表意不清晰,並且非常依賴記錄的結構,即很依賴索引數值,新增了新的列的時候你的**可能就會出錯了,而且使得你的**難以閱讀

下面是使用命名元組的版本:

stock = namedtuple('

stock

', ['

name

', '

shares

', '

price'])

defcompute_cost(records):

total = 0.0

for rec in

records:

s = stock(*rec) #

元祖打散

total += s.shares * s.price #

直接通過名稱取值 而不是 total += rec[1] * rec[2]

return total

Python命名元組 namedtuple

python中提供了基礎的不可變資料結構元組tuple,對元組元素的訪問需通過索引來完成,對此需要熟記每個下標對應的具體含義。如果元素數量一多,要記清楚這些東西就會比較麻煩了,於是就出現了命名元組namedtuple。collections.namedtuple point x y 這樣就建立了乙個...

python中命名元組

實際上 collections.namedtuple 是乙個工廠方法,它返回的是python中標準元組型別的子類。我們提供給它乙個型別名稱以及相應的字段,它就返回乙個可例項化的類為你已經定義好的字段傳入值等。from collections import namedtuple subscriber ...

python中的命名元組namedtuple

namedtuple是繼承自tuple的子類。namedtuple建立乙個和tuple類似的物件,而且物件擁有可訪問的屬性 可利用collections.namedtuple構建乙個簡單的類。from collections import namedtuple 定義乙個namedtuple型別use...