Python-猴子补丁

什么是猴子补丁

生活中衣服破了洞,我们不想将其丢掉,就会打个补丁缝缝补补讲究着用,
这种理解带入程序中也是这样,个别功能有问题,但我们并不想将其重构或丢掉,只想将其个别功能替换,这就是打补丁的概念,为啥称呼为猴子补丁这就不得而知了,但我们要知道打补丁是种补救措施,并不一定是好事不要滥用;

使用解析

程序中某个功能使用不理想效率低等,我们给它换成其它效率高的,这就等于打上补丁了,它是直接将你程序的某一功能换成其它的,这是一种思想/解决方案,

例如Python中的内置json模块的loads和dumps功能,有人发现它们的存取效率较低,就自主研发了一个第三方模块叫ujson专门对其做了优化,但json模块的其他绝大部分功能的使用并没有问题,这时候就可以对其进行替换,

import json
import ujson # pip install ujson 安装命令

json.damps = ujson.damps
json.loads = ujson.loads 
json.__name__ = 'xxx' # 进行重命名

这就替换完成了,纯粹的替换,一定要在使用这模块功能前进行替换,不然使用的就是原功能

进行封装,需要的时候调用使用更方便
def monkey_patch():
    json.damps = ujson.damps
    json.loads = ujson.loads 

猜你喜欢

转载自blog.csdn.net/msmso/article/details/108126824
今日推荐