在新的python模块中包装外部python库类/函数

在新的python模块中包装外部python库类/函数,python,proxy-object,Python,Proxy Object,我们正在使用一个外部python库(例如Lib1),它有两个类(例如Class A、Class B)。我们希望在该库之上创建一个包装器组件,以便将来如果我们想用其他库替换该库,我们的应用程序不需要更改代码。对于该组件的初始实现,我们可以使用与lib1中相同的类和方法创建该组件 如果A类有方法m1和m2 及 B类采用方法m3和m4, 及 m3和m4以A类实例为参数; 我们不希望以方法m1和m2的类Wrapped_A和方法m3和m4的类Wrapped_B结束 有没有办法实现一个通用的代理/委托对象或

我们正在使用一个外部python库(例如Lib1),它有两个类(例如Class A、Class B)。我们希望在该库之上创建一个包装器组件,以便将来如果我们想用其他库替换该库,我们的应用程序不需要更改代码。对于该组件的初始实现,我们可以使用与lib1中相同的类和方法创建该组件

如果A类有方法m1和m2 及 B类采用方法m3和m4, 及 m3和m4以A类实例为参数; 我们不希望以方法m1和m2的类Wrapped_A和方法m3和m4的类Wrapped_B结束

有没有办法实现一个通用的代理/委托对象或类,这样我们就不必将每个方法都封装在Wrapped_a和Wrapped_B中,但我们的应用程序仍然可以对它们调用def m1、m2、m3和m4(同样,类a的对象仍然被传递给m3和m4)

我是python新手,试图理解decorator和元编程,但这并没有帮助。此外,我们目前的需求不是在类或其方法中添加任何新逻辑,而是创建代理对象/方法,该代理对象/方法将只将调用委托给外部库对象/方法


谢谢你的帮助

为什么不希望Wrapped_A和Wrapped_B具有m1/m2和m3/m4,如果它们要包装/模拟原点A和B呢?目前,听起来您只想从A和B继承。由于它们位于不同的模块(即命名为spaced)中,您也可以调用wrapper A和B。因此,原始导入A的
为您提供了原始A,而包装导入A的
为您提供了包装A。不过,您需要更加具体;这太模糊了。嗨,欢迎来到StackExchange!这看起来像是家庭作业,我们可以提供帮助,但我们希望看到一个真诚的尝试,首先自己解决问题,或者您询问现有实现中的具体问题。如果你还不能做到这一点,那就先试试你自己的工作,或者寻求更广泛的帮助;在这个阶段,您的教授可能是比堆栈溢出更好的资源。