python标准库——collections模块 的namedtuple
1.namedtuple
nametuple能够创建类似元祖的数据类型,除了能够使用索引访问数据,能够迭代,还能使用属性来访问数据。
跟其他collections提供的类不一样,namedtuple本身不是一个类对象,它是提供一个创建类的方法。
example1:
1 from collections import namedtuple 2 3 MytupleClass = namedtuple('MytupleClass',['x','y','z']) 4 Animal = namedtuple('Animal','name age type') 5 6 na = MytupleClass(x =1,y='zhangjin',z=28) 7 dog = Animal(name = 'quqi',age=1,type='dog') 8 9 print(na) 10 print(dog) 11 print(na.x) 12 print(dog.name)
输出
MytupleClass(x=1, y='zhangjin', z=28) Animal(name='quqi', age=1, type='dog') 1 quqi
这里要注意的一点是,在使用namedtuple实例化一个类对象时,参数中field_names是,只能传入['x','y','z']、'name age address'、{'x':1,'y':2,'z':3}这样的对象,
具体实现请看namedtuple实现的源码。
更多关于namedtuple的用法,可以跳转至http://www.cnblogs.com/herbert/p/3468294.html