猴子补丁怎么在Python中使用

  介绍

这篇文章给大家介绍猴子补丁怎么在Python中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1。这个词原来为游击队补丁,杂牌军,游击队,说明这部分不是原装的,在英文里游击发音和gorllia(猩猩)相似,再后来就写了猴子(猴子)。

2。还有一种解释是说由于这种方式将原来的代码弄乱了(干扰),在英文里叫胡闹(顽皮的),所以叫做猴子补丁。

猴子补丁的叫法有些莫名其妙,只要和“模块运行时替换的功能“对应就行了。

猴子补丁的用法

1,运行时动态替换模块的方法

stackoverflow上有两个比较热的例子,

考虑get_data类,有一个方法。这方法一个
外部查询(例如,数据库或web API),以及各种
其他类中的方法调用它。然而,在一个单元测试,你不要# 39;t
想靠>得到SomeOtherProduct.SomeModule  import  SomeClass   def 说话(自我):   return 才能“ook  ook  eee  eee  eee !“   SomeClass.speak =,

还说有一个比较实用的例子,很多代码用进口到json,后来发现ujson性能更高,如果觉得把每个文件的进口json改成进口ujson为json成本较高,或者说想测试一下用ujson替换json是否符合预期,只需要在入口加上:

import  json   import  ujson   def  monkey_patch_json ():   时间=json.__name__ 才能;& # 39;ujson& # 39;   json.dumps 才能=ujson.dumps   json.loads 才能=ujson.loads   monkey_patch_json ()

2,运行时动态增加模块的方法

这种场景也比较多,比如我们引用团队通用库里的一个模块,又想丰富模块的功能,除了继承之外也可以考虑用猴子补丁。

关于猴子补丁怎么在Python中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

猴子补丁怎么在Python中使用