具名元组(namedtuple) 是 python 标准库 collections 中的工厂函数。它接受两个参数,第一个参数表示类的名称,
第二个参数是类的字段名。后者可以是可迭代对象,也可以是空格隔开的字符串
>>> from collections import namedtuple
# 构建一个City类
>>> City = namedtuple('City','name country poplution')
# 实例化对象
>>> tokyo = City('Tokyo','JP',36.933)
>>> tokyo
City(name='Tokyo', country='JP', poplution=36.933)
# 访问实例属性
>>> tokyo.poplution
36.933
>>> tokyo[1]
'JP'
除了从普通元组继承来的属性之外,具名元组还有一些自己专有的属性:
# 获得类的字段名
>>> City._fields
('name', 'country', 'poplution')
>>> bj_data = ('beijing','china','36.666')
# 接收一个可迭代对象新建一个city对象
>>> bj = City._make(bj_data)
# 以dict形式返回属性和值
>>> bj._asdict()
{'name': 'beijing', 'country': 'china', 'poplution': '36.666'}