这看起来很简单,但我找不到解决办法。在
我用我能想到的最简单的例子来展示下面的问题。在
(我的课程安静而复杂;)
文件A.py
import os, sys
import B
from B import *
class _A():
def __init__(self,someVars):
self.someVars = someVars
def run(self):
print self.someVars
someVars = 'jdoe'
B._B(someVars)
文件B.py与import A不匹配
^{pr2}$使用import A
->;回调:找不到
只有当我这样做的时候-
^{3}$但是逻辑上A函数执行了2次。在
感谢大家
由于存在循环依赖关系,您将面临导入错误,您可以继续执行以下操作:
文件A.py:
另外,您应该使用
import A
或from A import _A
,如果您使用后者,您应该直接将类调用为:_A(self.someVars)
,而不是:A._A(self.someVars)
,此调用约定将用于以前的导入样式(import A
),为了更好地理解类和模块的外部使用,可以参考以下链接:https://docs.python.org/3/tutorial/modules.html没有必要先
import X
,然后from X import Y
。如果需要Y(即使Y
是*
),只需from X import Y
。这可能是2次执行的原因。在还有为什么模块之间有循环依赖关系
A -> B, B -> A
?也许他们应该放在一个文件里?在相关问题 更多 >
编程相关推荐