如何以编程方式替换单个实例的属性访问器?

时间:2017-10-26 00:38:22

标签: python python-3.x

我有一个类可以简化为:

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')

希望"绕过"配件机械。但没有这样的运气。只是一个错误,它只是一个只读属性。

0 个答案:

没有答案