我有一个类可以简化为:
class Foo(object):
@property
def x(self):
return 'Boo'
foo = Foo()
foo.x --> 'Boo'
我正在进行一些测试/模拟,我想更改x
访问器属性以返回不同的常量值,仅适用于foo
实例。显然,我不能只使用foo.x = '13 Candles'
,因为它是一个属性!我试过了:
foo.__dict__['x'] = '13 Candles'
但foo.x
之后仍然会返回'Boo'
?
我也试过
setattr(foo, 'x', '13 Candles')
希望"绕过"配件机械。但没有这样的运气。只是一个错误,它只是一个只读属性。