我试着做一些极端的猴子修补,得到了意想不到的结果。
我重新分配了
__call__
函数指向不同函数的方法。
我期望改变函数的行为,但它似乎保留了它原来的函数。
-
function
亚纲
object
或者,是不是有些“异国情调”
?
-
它是否覆盖
__getattribute__
或
__getattr__
灌篮方法?
注意
功能
上课。
def add(a,b):
return a+b
def minus(a,b):
return a-b
add.__call__ = minus
运行时
add
>>> add(1,2)
... 3