【发布时间】:2021-06-28 07:54:22
【问题描述】:
我想创建一个包含 2 个可选属性的类,但至少有 1 个。我尝试了以下方法,但 attr 不允许这样做,并且不能确保至少有 1 个。
@attr.s
class myClass():
attrA = attr.ib(default=None, validator=optional(instance_of(int)))
attrB = attr.ib(default=None, validator=optional(instance_of(int)))
# Desired behaviour
>>> a = myClass(attrA=1)
>>> a.attrA
1
>>> a.attrB
None
>>> a = myClass(attrB=2)
>>> a.attrA
None
>>> a.attrB
1
【问题讨论】:
标签: python class attributes attr