Python monkey patch(猴子补丁)

发布时间 2023-10-30 18:04:10作者: 你说夕阳很美

猴子补丁(monkey patch) - 简书 (jianshu.com)

python面试题精讲——monkey patch(猴子补丁) - 知乎 (zhihu.com)

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
'''

综上,个人感觉就是用把一个对象地址替换成另外一个,然后使用另外一个对象的属性,方法等

应用在同一个库不同版本并存啊,或者实现类似功能的库互相替换用,或者替换某些库的某些功能。基础就是Python一切皆对象