python中的循环导入问题.如何解决



Hellooo!

通常,循环导入意味着代码中的结构问题,但我看不到任何其他方法来解决这个问题。这是我目前的案例:

我有两个类:ProjectPreset

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函数中。

最新更新