1. 程式人生 > >python collections.namedtuple工廠函式

python collections.namedtuple工廠函式

namedtuple:

因為元組的侷限性:不能為元組內部的資料進行命名,所以往往我們並不知道一個元組所要表達的意義, 所以在這裡引入了 collections.namedtuple 這個工廠函式,來構造一個帶欄位名的元組。 具名元組的例項和普通元組消耗的記憶體一樣多,因為欄位名都被存在對應的類裡面。這個類跟普通的物件例項比起來也要小一些,因為 Python 不會用 _dict_來存放這些例項的屬性。

如何實現:

def namedtuple(typename, field_names, *, verbose=False, rename=False, module=None): - typename: 元組名稱 - field_names : 元組中元素的名稱 - rename: 如果元素名稱中包含python關鍵字, 必須設定rename=True

舉例:

from collections import  namedtuple
User = namedtuple('User', ['name', 'age', 'gender'])
u = User('fentiao', 13, 'male')
print(u.name)
print(u.age)
print(u.gender)
print(u)

這裡寫圖片描述