collections.namedtuple() 命名元組的乙個主要用途是將你的**從下標操作中解脫出來舉例使用
#使用from collections import
namedtuple
subscriber = namedtuple('
subscriber
', ['
addr
', '
joined
']) #
需要傳遞乙個型別名和你需要的字段給它,然後它就會返回乙個類
sub = subscriber('
', '
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...