Python全局/包别名实现类

Python全局/包别名实现类,python,python-2.7,Python,Python 2.7,我有一种奇怪的感觉,这是一个简单的问题 我希望能够“别名”类类型,以便在包级别交换实现。我不想让X数量的导入X作为bah分散在我的代码中 阿卡。我如何才能执行以下操作: class BaseClass(object): def __init__(self): pass def mymthod(self): pass def mymthod1(self): pass def mymthod2(self): pass class Implementation(BaseCl

我有一种奇怪的感觉,这是一个简单的问题

我希望能够“别名”类类型,以便在包级别交换实现。我不想让X数量的
导入X作为bah
分散在我的代码中

阿卡。我如何才能执行以下操作:

class BaseClass(object):
   def __init__(self):  pass
   def mymthod(self): pass
   def mymthod1(self): pass
   def mymthod2(self): pass

class Implementation(BaseClass):
   def __init__(self):
       BaseClass.__init__()
分开包装

#I dont want thse scattered through out modules, 
#i want them in one place where i can change one and change implementations  
#I tried putting it in the package init but no luck
import Implementation as BaseClassProxy


class Client(BaseClassImpl):
    def __init__(self):
       BaseClassImpl.__init__(self)
在任何文件中(最适合的地方取决于您,可能是定义了
实现的地方):

因为类是Python中的第一类对象,所以可以将它们绑定到任何变量,并以相同的方式使用它们。在这种情况下,您可以在任何文件中为类创建别名。

(最适合的地方取决于您,可能是定义了
实现的地方):


因为类是Python中的第一类对象,所以可以将它们绑定到任何变量,并以相同的方式使用它们。在本例中,您可以为该类创建别名。

只需输入以下内容

BaseClassProxy = Implementation
在模块中,然后执行以下操作:

from module import BaseClassProxy

只是放一些像

BaseClassProxy = Implementation
在模块中,然后执行以下操作:

from module import BaseClassProxy

很好地工作,但是我应该注意,您需要从定义“类/别名”的地方导入它。再次感谢。工作很好,但我应该注意,您需要从定义“类/别名”的地方导入它。再次感谢。