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()方法可以将变量中字段的值做修改。