【发布时间】:2012-04-01 13:44:01
【问题描述】:
让我先说我想做的事。我想为一个变量创建一个惰性包装器,就像我记录所有的方法调用和操作符调用,然后在我指定要调用它的变量时评估它们。
因此,我希望能够拦截所有方法调用和操作员调用以及特殊方法,以便我可以处理它们。但是,__getattr__ 不会拦截操作员调用或__str__ 等,所以我想知道是否有一种通用的方法可以重载所有方法调用,或者我应该动态创建一个类并为所有方法复制代码它(我已经做过,但很丑)。
【问题讨论】:
-
我给this question写了一个答案,和你想做的类似。
-
在 dunder 方法上甚至没有调用
__getattribute__。德拉特。
标签: python dynamic methods operator-keyword getattr