Python类的多个“私有”实现

2022-05-21 06:46:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个模块导出的公共类,以及它的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

最好的方法是什么


Tags: 模块toself程序objectusedef动态passimplementationclassarg1func1imp1publicclass