Python 抽象调用Base中导入的库的正确方法Class
Python Abstract Proper Way of Calling Library Imported in Base Class
使用在抽象 class 的基 class 中导入的函数的正确方法是什么?例如:在 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
导入的库?
抽象方法不关心实现细节。
如果您的特定具体实现需要特定模块,则需要将其导入到您的模块中:
import base
import functions
class DietPizza(base.BasePizza):
@staticmethod
def get_ingredients():
return functions.istrue()
请注意,在多个地方导入模块不需要任何额外费用。 Python 当一个模块在多个其他模块中使用时,重新使用已经创建的模块对象。
使用在抽象 class 的基 class 中导入的函数的正确方法是什么?例如:在 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
导入的库?
抽象方法不关心实现细节。
如果您的特定具体实现需要特定模块,则需要将其导入到您的模块中:
import base
import functions
class DietPizza(base.BasePizza):
@staticmethod
def get_ingredients():
return functions.istrue()
请注意,在多个地方导入模块不需要任何额外费用。 Python 当一个模块在多个其他模块中使用时,重新使用已经创建的模块对象。