限制动态属性声明

时间:2014-03-04 15:23:13

标签: python attributes

__slots__声明允许限制动态属性声明。但这只是__slots__的一系列副作用中的一个。如何在没有__slots__的情况下限制动态属性声明?

所需语法:

class A(SomeSmrtClass):
    __allowed_attrs = set(['a', 'b'])

期望的行为:

>>> a = A()
>>> a.a = 1 # Allowed
>>> a.c = 2 # Allowed in SomeSmartClass by deault
>>> a.d = 3
AttributeError: ...

0 个答案:

没有答案