gpt4 book ai didi

python - 处理 Python 模块中的循环依赖?

转载 作者:太空狗 更新时间:2023-10-30 00:21:09 26 4
gpt4 key购买 nike

这又是一个原地打转、快要发疯的案例。

我希望 Python 首先分析所有文件,以便它从一开始就知道所有标识符(我认为就像 Java 一样)。

我有一个“main.py”和一个“gui.py”。每个文件都包含一个类,该类使用另一个文件中的类。当我尝试运行“main.py”时,解释器导入“gui”,然后在“gui.py”中导入“main”,然后它处理整个主模块并说:“Tee-hee,没有类使用 gui.py 中的给定名称。”

如何在 Python 中以最少的麻烦处理循环依赖?

最佳答案

我想我会将其扩展为答案而不是评论。

值得注意的是 circular imports are generally a sign of bad design :与其要求语言适合您的设计,不如更改该设计?

ways around this problem in python :

  • 不错的选择:重构您的代码以不使用循环导入。
  • 错误的选择:将您的一个 import 语句移动到不同的范围。

但是不行,您不能预解析文件。这不是 Python 的工作方式,如果您研究 Python 的工作方式,就会很明显地看出原因。

关于python - 处理 Python 模块中的循环依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10113383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com