具名元组

collections.namedtuple 是一个工厂函数,它可以用来构建一个带字段名的元组和一个有名字的类——这个带名字的类对调试程序有很大帮助。
用 namedtuple 构建的类的实例所消耗的内存跟元组是一样的,因为字段名都被存在对应的类里面。这个实例跟普通的对象实例比起来也要小一些,因为 Python 不会用 __dict__ 来存放这些实例的属性。
from collections import namedtuple

City = namedtuple('City', 'name country population coordinates') 
tokyo = City('Tokyo', 'JP', 36.933, (35.689722, 139.691667)) 
print tokyo
# City(name='Tokyo', country='JP', population=36.933, coordinates=(35.689722,139.691667))
print tokyo.population ➌
# 36.933
print tokyo.coordinates
# (35.689722, 139.691667)
print tokyo[1]
# 'JP'
创建一个具名元组需要两个参数,一个是类名,另一个是类的各个字段的名字。后者可以是由数个字符串组成的可迭代对象,或者是由空格分隔开的字段名组成的字符串。
存放在对应字段里的数据要以一串参数的形式传入到构造函数中(注意,元组的构造函数却只接受单一的可迭代对象)。
你可以通过字段名或者位置来获取一个字段的信息。
posted @ 2019-09-23 15:48  顽强的allin  阅读(351)  评论(0编辑  收藏  举报