首页 > 解决方案 > 如何覆盖库类的方法

问题描述

我正在使用 python 库,我必须修改Emitter类的方法。

当我使用该库时,我从Main类创建一个实例,然后它自己调用 Emitter 类;

如何在不更改库的实际代码的情况下更改此方法?

创建 Emitter 类的子类是否有效?


我要补充一点,由于项目限制,如果没有它在一个类中,我就无法编写任何方法/函数。

如果不是因为这个猴子修补程序会奏效。

此外,对于这种方法,我想更改/替换使用 Emitter 对象的字段——我想它是由库中的 Main 或其他类创建的。

有什么办法吗?

代码示例:

from library import Main

class My_class:
    
    def __init__(self):
        obj = Main()
        obj.someMainmethod()

# that's pretty much how I use the library

标签: python-3.x

解决方案


推荐阅读