利用在抽象类的基类中导入的函数的正确方法是什么?例如:在base.py
中,我有以下内容:
import abc
import functions
class BasePizza(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def get_ingredients(self):
"""Returns the ingredient list."""
然后我在diet.py
中定义方法:
import base
class DietPizza(base.BasePizza):
@staticmethod
def get_ingredients():
if functions.istrue():
return True
else:
retrun False
但是,如果我尝试运行
python diet.py
我得到以下内容:
NameError: name 'functions' is not defined
如何让diet.py
识别base.py
导入的库?
答案 0 :(得分:3)
抽象方法不关心实现细节。
如果您需要特定模块用于特定的具体实现,则需要在模块中导入:
__init__
请注意,在多个地方中导入模块不需要额外费用。当模块在多个其他模块中使用时,Python会重新使用已创建的模块对象。