Python猴子补丁

45 阅读1分钟

猴子补丁

对象的属性在对象运行期间动态的替换,叫做猴子补丁*(Monkey Patch)*

class A:
    def __init__(self):
        self.num = 1
a = A()
a.num = lambda x:x**2

很多代码用到 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()