Pyhon基础:Monkey Patch(猴子补丁)
来源:互联网 发布:信义安所见乎翻译 编辑:程序博客网 时间:2024/05/16 14:23
属性在运行时的动态替换,叫做猴子补丁(Monkey Patch)。
为什么叫猴子补丁
属性的运行时替换和猴子也没什么关系,关于猴子补丁的由来网上查到两种说法:
1,这个词原来为Guerrilla Patch,杂牌军、游击队,说明这部分不是原装的,在英文里guerilla发音和gorllia(猩猩)相似,再后来就写了monkey(猴子)。
2,还有一种解释是说由于这种方式将原来的代码弄乱了(messing with it),在英文里叫monkeying about(顽皮的),所以叫做Monkey Patch。猴子补丁的叫法有些莫名其妙,只要和“模块运行时替换的功能”对应就行了。
- Monkey patch就是在运行时对已有的代码进行修改,达到hot patch的目的。
- Eventlet中大量使用了该技巧,以替换标准库中的组件,比如socket。
首先来看一下最简单的monkey patch的实现。
由于Python中的名字空间是开放,通过dict来实现,所以很容易就可以达到patch的目的。
1,运行时动态替换模块的方法
stackoverflow上有两个比较热的例子,
另一个例子引用了,Zope wiki上对Monkey Patch解释:
还有一个比较实用的例子,很多代码用到 import json,后来发现ujson性能更高,如果觉得把每个文件的import json 改成 import ujson as json成本较高,或者说想测试一下用ujson替换json是否符合预期,只需要在入口加上:
import json import ujson def monkey_patch_json(): json.__name__ = 'ujson' json.dumps = ujson.dumps json.loads = ujson.loads monkey_patch_json()
2,运行时动态增加模块的方法
这种场景也比较多,比如我们引用团队通用库里的一个模块,又想丰富模块的功能,除了继承之外也可以考虑用Monkey Patch。
个人感觉Monkey Patch带了便利的同时也有搞乱源代码优雅的风险。阅读全文1 0
- Pyhon基础:Monkey Patch(猴子补丁)
- Pyhon基础:Monkey Patch(猴子补丁)
- 什么是猴子补丁(monkey patch)
- 什么是猴子补丁(monkey patch)
- 什么是Monkey Patch猴子补丁
- 什么是猴子补丁(monkey patch)
- 猴子补丁 Monkey-patch(重写方法)
- 原型污染和猴子补丁 Prototype Pollution and Monkey-Patching
- 猴子补丁
- 猴子补丁
- Monkey patch
- patch补丁
- 原型污染和猴子补丁 Prototype Pollution and Monkey-Patching,monkeypatching
- ORACLE 10g 升级补丁(Patch)
- ORACLE 11g 升级补丁(Patch)
- ORACLE 11g 升级补丁(Patch)
- ORACLE 11g 升级补丁(Patch)
- ORACLE 11g 升级补丁(Patch)
- 第三章-数据类型和运算符2
- 为什么英语学习得不到我们想要的效果?
- Inception v1 论文及源码
- h5学习
- 2.1 文本类控件的使用
- Pyhon基础:Monkey Patch(猴子补丁)
- 2.2 按钮类控件的使用
- python入门(十五):正则表达式
- 2.3 图片类控件的使用
- Kotlin 中的操作符重载汇总表 与 可见性修饰符总结
- (组合数取模, 数论)2017"百度之星"程序设计大赛
- HTML中让段落自动空两格
- sc2017新高二&高一模拟赛5 总结
- 28. Implement strStr()
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
汤方
汤方大图全集
汤旭
汤晶
汤晶锦酒干倘
汤杰
汤武
去湿气的汤水
汤水的做法及功效大全
臭豆腐汤汁
汤汁的做法
长沙臭豆腐汤汁配方
臭豆腐汤汁做法
长沙臭豆腐汤汁
炸臭豆腐汤汁详细配方
糖醋荷包蛋汤汁怎么调
海鲜大咖汤汁配方
小笼包的汤汁怎么做
麻辣烫汤汁怎么做
北京臭豆腐汤汁做法
豆腐脑汤汁的做法
麻辣烫的汤汁怎么做
红烧丸子汤汁怎样调制
广东肠粉汤汁配方
广东肠粉汤汁绝密配方
四喜丸子汤汁怎么做
莜面汤汁的做法大全
臭豆腐汤汁的做法
豆腐脑的汤汁怎么做
臭豆腐的汤汁怎么做
饺子馅怎么做才有汤汁
汤池温泉
汤池
汤池镇
汤池铁城
汤池饭店
汤池大酒店
汤池现状
汤池住宿
汤池在线
汤池论坛