网上大多数解释:Python 中的“猴子补丁”(Monkey Patching)是一种在运行时动态修改类或模块行为的技巧。这种技术允许你在不修改源代码的情况下,增加或覆盖方法、属性或类。这在许多情况下非常有用,比如在不修改第三方库代码的情况下修复bug、增加功能,或者在单元测试时模拟某些行为。
白话:不修改函数A代码,但运行函数A时,运行的是函数B的代码
二话不说,上栗子
函数A没有猴子补丁
打印:Hello A
class A:def say(self):print("Hello A")# 打印:Hello A
A().say()
函数A添加猴子补丁
class A:def say(self):print("Hello A")def new_say(self):print("Hello B")A.say = new_say
# 打印:Hello B
A().say()
A().say() 运行时,打印 Hello B,有点经验的人明白了什么情况,函数其实也是对象,地址指向函数对象new_say