猴子补丁
猴子补丁(monkey patch)的主要功能就是模块运行时动态的属性的替换。
- 运行时动态改变类的方法
class A:
def func(self):
print("Hi")
def monkey(self):
print("Hi, monkey")
a = A()
a.func()
'''运行结果
Hi
'''
加上猴子补丁
class A:
def func(self):
print("Hi")
def monkey(self):
print("Hi, monkey")
a = A()
A.func=A.monkey #在运行的时候,才改变了func
a.func()
'''运行结果
Hi, monkey
'''
class A:
def func(self):
print("Hi")
def monkey(self):
print("Hi, monkey")
def outer_monkey(a): # a 这个参数是没有用到的,因为func有一个参数,如果这个函数没有参数的话不能这样直接赋值
print("Hi,outer monkey")
a = A()
A.func=outer_monkey
a.func()
'''运行结果
Hi, outer monkey
'''
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/48901.html