mis*_*tor 24 ruby python oop metaprogramming method-missing
什么是Python相当于Ruby的method_missing方法?我尝试过使用__getattr__但是这个钩子也适用于字段.我只想拦截方法调用.Python的方法是什么?
Emi*_*nov 27
Python在属性和方法之间没有区别.方法只是一个属性,其类型只是instancemethod,恰好是可调用的(支持__call__).
如果你想实现这个,你的__getattr__方法应该返回一个函数(一个lambda或一个常规的def,你需要的任何套件),并可能在调用后检查一些东西.