欢迎来到Louis的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

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

 

posted on 2017-12-26 16:14  Louiszj  阅读(183)  评论(0编辑  收藏  举报

导航