>>> # Basic example
>>> Point = namedtuple('Point', ['x', 'y'])
>>> p = Point(11, y=22) # instantiate with positional or keyword arguments
>>> p[0] + p[1] # indexable like the plain tuple (11, 22)
33
>>> x, y = p # unpack like a regular tuple
>>> x, y
(11, 22)
>>> p.x + p.y # fields also accessible by name
33
>>> p # readable __repr__ with a name=value style
Point(x=11, y=22)
类或多或少是对象的
dict
属性的精美包装器。当您实例化一个类时,您可以分配给它的属性,这些属性将存储在foo.__dict__
;同样,您可以在foo.__dict__
中查找您已经编写的任何属性。这意味着您可以执行一些整洁的动态操作,如:
以及分配给特定实例。(编辑:添加了
self
参数)尝试使用
lambda
:你将能够:
编辑:感谢Thomas K的注释-这在
Python 3.2
上有效,而不是Python2,其中print
似乎是statement
。但是这对lambda
s有效,没有语句(对吗?对不起,我只知道python3.2
(:)您还可以使用
collection
标准模块中的“命名元组”。命名元组的工作方式类似于“普通”元组,但元素有名称,您可以使用“点语法”访问元素。从collection docs:相关问题 更多 >
编程相关推荐