Python中的猴子补丁(动态行为)
在Python中,术语猴子补丁是指对类或模块的动态(或运行时)修改。在Python中,我们实际上可以在运行时改变代码的行为。
# monk.py
class A:
def func(self):
print ("func() is being called")
我们在下面的代码中使用上面的模块(monk),并通过分配不同的值在运行时改变 func() 的行为。
import monk
def monkey_f(self):
print ("monkey_f() is being called")
# replacing address of "func" with "monkey_f"
monk.A.func = monkey_f
obj = monk.A()
# calling function "func" whose address got replaced
# with function "monkey_f()"
obj.func()
例子:
Output :monkey_f() is being called