我有一个模块导出的公共类,以及它的3个实现。
在程序的某些点,使用的实现将动态更改, 类似的东西:
class PublicClass(object):
_IMPLEMENTATION_TO_USE = _Imp1
def func1(self, arg1):
_IMPLEMENTATION_TO_USE.func1(arg1)
class _Imp1(PublicClass):
def func1(self, arg1): pass
class _Imp2(PublicClass):
def func1(self, arg1): pass
实现它的最好(Pythonic)方法是什么?