类实例方法调用和@property访问委托人

时间:2018-09-22 20:10:57

标签: python

我想为现有的类D实例创建委托人A。可以在@property中模拟方法调用和对A的{​​{1}}属性访问:

D

虽然可以委派给class D(object): def __init__(self, instance_of_A): self.instance_of_A = instance_of_A def __getattr__(self, attr): ... def attr_wrapper(*args, **kwargs): print('accessing attribute', attr) res = getattr(self.instance_of_A, attr)(*args, **kwargs) ... return res return attr_wrapper 的方法调用,但该方法不起作用 A的{​​{1}}个属性。使其运作的最佳方法是什么?

编辑

需要说明的是,如果@property具有@property属性,则此方法无效:

A

EDIT2

返回A很重要,因为我想拦截返回 值那个呼叫。

0 个答案:

没有答案