具体命名元组

from collections import namedtuple
City=namedtuple('City','name country population coordinates')
'''创建一个具名元组需要两个参数,一个是类名,另一个是类的各个字段的名字。 
后者可以是由数个字符串组成的可迭代对象,或者是有空格分割开的字段名组成的字符串'''
tokyo=City('Tokyo','JP',36.933,(35.68722,139.691667))
tokyo
City(name='Tokyo', country='JP', population=36.933, coordinates=(35.68722, 139.691667))
tokyo.population
36.933
tokyo.coordinates
(35.68722, 139.691667)
City._fields#_field属性是一个包含这个类所有字段名称的元组
('name', 'country', 'population', 'coordinates')
LatLong=namedtuple('LatLong','lat long')
delhi_data=('Delhi NCR','IN',21.935,LatLong(28.613889,77.20889))
delhi=City._make(delhi_data)# _make()通过接受一个可迭代对象来生成这个类的一个实例
delhi._asdict()# _asdict()把具名元组以collections.OrderedDict的形式返回,可以利用它把元组里的信息友好地呈现出来
{'name': 'Delhi NCR',
 'country': 'IN',
 'population': 21.935,
 'coordinates': LatLong(lat=28.613889, long=77.20889)}
posted @ 2021-09-15 10:26  里列昂遗失的记事本  阅读(30)  评论(0编辑  收藏  举报