所以我使用的是我安装的第三方python模块。
我像这样启动它:
from module import SomeClass
sc = SomeClass()
sc.process(text);
process()
正在使用同一模块中另一个类的另一种方法,称为get_Text()
我想修改 get_Text()
方法以返回修改后的字符串。
因此,sc.process(text)
将返回与以前不同的结果。
我使用猴子补丁吗?它在这里如何工作?我是否复制粘贴get_text()
方法并对其进行修改并在运行时修补它?
显式比隐式更好。在可能的情况下,只需使用继承来更改get_text
的结果
class SomeOtherClass(SomeClass):
def get_text(self):
return someClass.get_text(self) + ' bar'
你为什么不试试这样,
>>> import os
>>> os.getcwd()
'/home/sivacn'
>>>
>>> def getcwd():
... return 'Patched'
...
>>> os.getcwd = getcwd
>>>
>>> os.getcwd()
'Patched'
>>>