Python中的圆形导入问题。如何解决?

问题描述 投票:0回答:1

Helloooo!

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

我有两个类别: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)

[通常来说,我将始终使用Presets方法通过Project类创建get_preset,但我也想提供直接创建Preset的可能性,而不必先创建Project

是否有摆脱这种循环递归的想法?

谢谢!

Helloooo!通常,循环导入意味着代码中存在结构问题,但是我看不到任何其他方法可以解决此问题。这是我目前的情况:我有两个类:项目和预设项目...

python circular-dependency
1个回答
0
投票

您可以将第一个导入项移到get_preset功能中。

© www.soinside.com 2019 - 2024. All rights reserved.