我知道在类中定义全局变量时如何使用它们,但是我在主变量中有一个全局变量。
如果我想在一个类中使用它,那将是导入它吗?
我的主要是这样的
Main.py:
from EvolutionaryAlgorithm import EvolutionaryAlgorithm
initialTimeMain = 0
if __name__ == '__main__':
evolutionaryAlgorithm= EvolutionaryAlgorithm()
.
.
我的EvolutionaryAlgorithm类有一个使用initialTimeMain变量的方法。 问题是当我在EvolutionaryAlgorithm中添加这个导入时:
EvolutionaryAlgorithm.py
import Main
因为当我运行脚本时,会出现错误
来自EvolutionaryAlgorithm的导入 EvolutionaryAlgorithm ImportError: 无法导入名称 EvolutionaryAlgorithm
不再识别导入
答案 0 :(得分:3)
你有一个循环导入的情况,短期解决方案是在if子句中移动import语句:
initialTimeMain = 0
if __name__ == '__main__':
from EvolutionaryAlgorithm import EvolutionaryAlgorithm
evolutionaryAlgorithm= EvolutionaryAlgorithm()
更好的长期解决方案是重构您的代码,以便您没有循环导入或initialTimeMain
中定义了EvolutionaryAlgorithm.py
,这当然可以在{{{}}中找到1}}使用您现有的导入策略。
旧答案:
Main.py