Python的namedtuple使用详解
namedtuple是继承自tuple的子类。namedtuple创建一个和tuple类似的对象,而且对象拥有可访问的属性。
下面看个列子
from collections import namedtuple # 定义一个namedtuple类型User,并包含name,sex和age属性。 User = namedtuple('User', ['name', 'sex', 'age']) # 创建一个User对象 user = User(name='kongxx', sex='male', age=21) # 也可以通过一个list来创建一个User对象,这里注意需要使用"_make"方法 user = User._make(['kongxx', 'male', 21]) print(user) # User(name='user1', sex='male', age=21) # 获取用户的属性 print(user.name) print(user.sex) print(user.age) # 修改对象属性,注意要使用"_replace"方法 user = user._replace(age=22) print(user) # User(name='user1', sex='male', age=21) # 将User对象转换成字典,注意要使用"_asdict" res = user._asdict() print(res) #OrderedDict([('name', 'kongxx'), ('sex', 'male'), ('age', 22)]) print(res['name']) #kongxx print(dict(res)) #{'name': 'kongxx', 'age': 22, 'sex': 'male'}