《Python语言程序设计》 —3.3.4 猴子补丁

举报
华章计算机 发表于 2019/11/18 21:04:52 2019/11/18
【摘要】 本节书摘来自华章计算机《Python语言程序设计》一书中第3章,第3.3.4节,作者是王恺 王志 李涛 朱洪文。

3.3.4 猴子补丁

猴子补丁(monkey patch)是指在运行时动态替换已有的代码,而不需要修改原始代码。下面通过一个例子说明猴子补丁的使用方法,参见代码清单3-21。

代码清单3-21 猴子补丁示例

1    def Sum(a,b): #定义函数Sum

2        print('Sum函数被调用!') #通过输出信息显示哪个函数被调用

3        return a+b #返回a和b的求和结果

4    def NewSum(*args): #定义函数NewSum

5        print('NewSum函数被调用!') #通过输出信息显示哪个函数被调用

6        s=0 #s用于保存求和结果,初始赋为0

7        for i in args: #i取传入的每一个参数值

8            s+=i #将i加到s上

9        return s #将保存求和结果的s返回

10   Sum=NewSum #将NewSum赋给Sum,后面再调用Sum函数,实际上就是执行NewSum函数

11   print(Sum(1,2,3,4,5)) #调用Sum函数(实际是执行NewSum)计算1~5的和并输出

程序执行完毕后,将在屏幕上输出如下结果:

NewSum函数被调用!

15

提示 猴子补丁主要用于在不修改已有代码的情况下修改其功能或增加对新功能的支持。例如,在使用第三方模块时,模块中的某些方法可能无法满足我们的开发需求。此时,我们可以在不修改这些方法代码的情况下,通过猴子补丁用一些自己编写的新方法对其进行替代,从而实现一些新的功能。



【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。