我有以下代码:
class Test(object):
_spam = 42
@classmethod
def get_spam(cls):
cls._spam
@classmethod
def set_spam(cls, value):
cls._spam = value
spam = property(get_spam, set_spam)
print Test.spam
Test.spam = 24
print Test.spam
输出是:
<property object at 0x01E55BD0>
24
有什么方法可以防止设置Test.spam
覆盖属性?我不想Test.spam
用来设置Test._spam
. setter 和 getter 必须保留为类方法,我不想调用Test.set_spam
.
输出应该是:
<property object at 0x01E55BD0>
<property object at 0x01E55BD0>