1.命名元組的介紹
Tuple還有一個兄弟,叫namedtuple。雖然都是元組,但是功能更爲強大。
collections.namedtuple(typename, field_names)
typename:類名稱
field_names: 元組中元素的名稱
在python中,我們如果需要知道現在的時間,有兩種方式:
- 調用datetime模塊
from datetime import datetime #從datetime模塊中導入datetime類
today = datetime.today()
print(today)
- 調用time模塊
import time
today = time.localtime()
print(today)
這就是命名元組的一個應用。其中,struct_time是類名,tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst是元組中元素的名稱。
2.定義命名元組類
命名元組是一個類,有兩種方式來定義命名元組:
實例化命名元組,獲得類的一個實例:
訪問命名元組: 通過逗號運算符和屬性名來訪問元組字段的值
user.name; user.age, user.id
3.命名元組的屬性
類屬性 _fields:包含這個類所有字段名的元組
from collections import namedtuple
Point = namedtuple('point','x,y') #變量Point此時是一個名爲‘point’的類
p = Point(x=1,y=0) #用Point變量實例化了一個對象爲p
print(p._fields) #可以調用_fields方法查看這個類中所有字段名
實例方法_replace():用於修改實例的屬性
上面的p變量中有兩個字段,x=1,y=0
p = p._replace(y=2)
print(p)
用._replace()方法可以將變量中字段的值做修改。