Python全局/包别名实现类
我有一种奇怪的感觉,这是一个简单的问题 我希望能够“别名”类类型,以便在包级别交换实现。我不想让X数量的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作为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
很好地工作,但是我应该注意,您需要从定义“类/别名”的地方导入它。再次感谢。工作很好,但我应该注意,您需要从定义“类/别名”的地方导入它。再次感谢。