有没有一种方法可以像覆盖实例变量的
请注意,此问题的标题错误,实际上是指实例变量,而不是类变量。
基于阅读关于(明显)死亡陷阱
示例:
__setattr__
一样防止或更改Python中的类变量访问?请注意,此问题的标题错误,实际上是指实例变量,而不是类变量。
基于阅读关于(明显)死亡陷阱
__slots__
的多篇帖子,我更喜欢不走这条路(而且我还没有足够的了解来知道它是否做到了我所要求的)。示例:
class A(object):
foo = "don't change me"
def __setattr__(self, name, value):
raise ValueError
if __name__ == '__main__':
a1 = A()
print a1.foo # don't change me
print A.foo # don't change me
A.foo = 'bar' # ideally throw an exception or something here
print A.foo # bar
a2 = A()
print a1.foo # bar
print a2.foo # bar