python常用内建模块

namedtuple

 namedtuple 是 collections 模块里面继承自tuple的系统内置类型。

 

使用方式: 

collections.namedtuple(typename,field_names[, verbose=False][, rename=False]) 

 

 namedtuple 返回用 typename 命名的子类元组。

这个新的子类是用来创建一个类似元组的对象,但是可以用属性来访问,同时可以索引,可以迭代。

这里的 field_names 可以写成 ['x','y'] , ['x y'] ,或者 ['x, y'] 

 

如果 rename=true ,不合法的fieldname会自动被改成位置名。

['abc', 'def', 'ghi','abc']

 

会被转换成

['abc', 'def', 'ghi','abc']

 

 

,因为关键字def作属性名不合法,abc则是因为重复。

 

如果 verbose=true ,会创建一个类。

 

下面举一个例子:

 

point = namedtuple('point',['x','y'])
>>> p = point(11,y=22)
>>> p[0]+p[1]                               #和普通元组一样可以使用索引
33
>>> x,y = p                                 #可以解包
>>> x, y
(11, 22)
>>> p.x+p.y                                 #可以用属性来访问元素
33
>>> p
point(x=11, y=22)

 

posted @ 2018-01-20 21:45  Annikaa  阅读(200)  评论(0编辑  收藏  举报