2024-04-19 13:35:34 发布
网友
我认为你问题的核心是你不想
a.py to imports a1 if a1.py imports a.
不过,这在python中是完全可以的。但是,请确保在具有多个模块的系统中,除了函数/类之外没有任何代码,因为运行的顺序将根据导入位置、导入的内容、月球的阶段等而有所不同
How can I split this file with despite a circular dependency?
选项1:中断循环:将基类放在自己的模块中,将派生类放在其他模块中,并将在这些派生类上操作的函数放在另一个模块中。
选项2:忽略周期,只将模块/包导入全局命名空间,即:
class Bar: "Frobs Quuxen"
不应该作为from foo import Bar导入,只需使用import foo,并根据需要在函数中引用foo.Bar。
from foo import Bar
import foo
foo.Bar
模式:
class A(...): ...
模式1.py:
import modA class A1(modA.A): ...
模式2.py:
import modA class A2(modA.A): ...
from modA import A from modA1 import A1 from modA2 import A2
即使一个“进程”a1和a2你应该是好的,因为多亏了duck输入,你不需要导入实际的名称。
我认为你问题的核心是你不想
不过,这在python中是完全可以的。但是,请确保在具有多个模块的系统中,除了函数/类之外没有任何代码,因为运行的顺序将根据导入位置、导入的内容、月球的阶段等而有所不同
选项1:中断循环:将基类放在自己的模块中,将派生类放在其他模块中,并将在这些派生类上操作的函数放在另一个模块中。
选项2:忽略周期,只将模块/包导入全局命名空间,即:
食物比
不应该作为
from foo import Bar
导入,只需使用import foo
,并根据需要在函数中引用foo.Bar
。模式:
模式1.py:
模式2.py:
模式:
即使一个“进程”a1和a2你应该是好的,因为多亏了duck输入,你不需要导入实际的名称。
相关问题 更多 >
编程相关推荐