如何使用python attrs为可变属性提供默认值?

时间:2018-11-05 20:25:45

标签: python python-attrs

刚开始使用python attr,看起来不错。该软件包允许通过使用工厂创建新对象来轻松创建空的可变参数,但是我不清楚用默认值填充这些空对象的预期方法。例如,这可以创建一个具有默认值的新列表,但是默认值会在方法调用中丢失:

import attr; import typing

@attr.s(auto_attribs=True)
class C:
    x: int=66
    # I want loi as a list with default value [1,2,3]
    loi: typing.List[int] = attr.Factory(list)

    def __attrs_post_init__(self):
        self.loi.extend([1,2,3])

cx = C()
cx.loi = [1,2,3]

0 个答案:

没有答案