Python namedlist FACTORY 默认值
Python namedlist FACTORY default with values
Python 中的 namedlist 包类似于 collections.namedtuple 并允许可变实例。
声明可变默认值需要使用 FACTORY
,例如:
from namedlist import namedlist, FACTORY
A = namedlist('A', [('x', FACTORY(list))])
我现在需要该列表具有默认值,但下面的代码不起作用:
A = namedlist('A', [('x', FACTORY(list([1, 2])))])
下面的代码创建了一个带有默认值的列表,但是 A
的每个实例都将指向同一个对象,这就是我们首先需要工厂的原因:
A = namedlist('A', [('x', [1, 2])])
如何创建一个 namedlist
带有工厂值的字段?
您需要向 FACTORY
提供一个函数,在调用时创建一个新对象。
A = namedlist('A', [('x', FACTORY(lambda: [1, 2]))])
Python 中的 namedlist 包类似于 collections.namedtuple 并允许可变实例。
声明可变默认值需要使用 FACTORY
,例如:
from namedlist import namedlist, FACTORY
A = namedlist('A', [('x', FACTORY(list))])
我现在需要该列表具有默认值,但下面的代码不起作用:
A = namedlist('A', [('x', FACTORY(list([1, 2])))])
下面的代码创建了一个带有默认值的列表,但是 A
的每个实例都将指向同一个对象,这就是我们首先需要工厂的原因:
A = namedlist('A', [('x', [1, 2])])
如何创建一个 namedlist
带有工厂值的字段?
您需要向 FACTORY
提供一个函数,在调用时创建一个新对象。
A = namedlist('A', [('x', FACTORY(lambda: [1, 2]))])