在Python语言中,monkey patch
指的是对于一个类或者模块所进行的动态修改。在Python语言中,我们其实可以在运行时修改代码的行为。
# monk.py
class A:
def func(self):
print "func() is being called"
我们会在下面的代码中使用上述定义的模块,并在通过在运行时指定不同的值来修改函数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
以上就是本文的全部内容,如果您喜欢这篇文章,欢迎将它分享给朋友们。
感谢您的阅读,祝您生活愉快!
作者:小美哥
2019-03-29