作用:随时修改代码
(在函数或类定义完成之后,再去修改函数的实现过程)
"""
类似猴子补丁
在函数定义好之后,再去更改他的行为
"""
import types
class Valley:
def func(self):
return "等待宣告"
def common(self):
return "只有永不遏制的奋斗"
if __name__ == '__main__':
v = Valley()
# 只替换当前实例的方法
v.func = types.MethodType(common, Valley)
print(v.func())
# 原方法实现规则不变
v2 = Valley()
print(v2.func())
output:
只有永不遏制的奋斗
等待宣告
使用场景:
在接手别人代码的时候,想要对某函数进行修改,但同时又担心会有别处调用此方法,所以可以在自己的代码中在不修改原代码的基础上执行另一套逻辑
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)