Hellooo!
通常,循环导入意味着代码中的结构问题,但我看不到任何其他方法来解决这个问题。这是我目前的案例:
我有两个类:Project
和Preset
Project
有一个生成Preset
的方法,类似于:
from preset import Preset
class Project():
def __init__(self, project):
self._project_name = project
def get_preset(self, preset_name):
return Preset(preset_name, self._project_name)
然后,我有了Preset
类,它也需要一个Project
名称来初始化。类似于:
from project import Project
class Preset():
def __init__(self, preset_name, project_name):
self._project = Project(project_name)
一般来说,我总是会用get_preset
方法通过Project
类创建Presets
,但我也想提供直接创建Preset
的可能性,而不必首先创建Project
。
有什么想法可以摆脱这种循环递归吗?
谢谢!!
您可以将第一个导入移动到get_preset
函数中。