当您的项目包含两个或更多文件并且最终需要导入所有内容时,您如何管理这种情况?
--main.py
---some-stuff.py
---some-stuff2.py
我不能寻求循环依赖,但程序的结构需要它。 有没有办法管理这种情况,除了在一个文件中完成所有工作,包括所有代码?
答案 0 :(得分:1)
标准答案
将数据位作为参数传递给您在some-stuff.py
中调用的函数。
如果您的some-stuff.py
定义的函数foo
需要bar
中定义的某个字段main
,请将foo
的定义更改为{{1}当foo(bar, <other args>)
内的脚本调用main.py
时,它可以将其称为foo
。
解决您的限制
你提到它是“通过将参数传递给某些东西中的函数调用而无法实现的,因为那时变量可能没有它们的值”。
如果foo(bar, <other args>)
内的函数在给定值之前需要来自some-stuff
的变量,那么您应该将函数分解为多个函数,以便在函数值之前不调用该函数要求可用。无论如何,这可能会改善代码的模块化。