分析し、問題を解決するためのpythonのインポートエラーサイクル
まず、導入サイクルの原因
#m1
from m2 import y
x=1
#m2
from m1 import x
y=10
原因:因为python解释器是从上往下解释,在执行from命令之前还没有加载x , y,所以当执行m1文件的时候,找到不y,x
第二に、ソリューション
図1において、第1の実施形態
#m1
x=1
from m2 import y
print(x)
print(y)
#m2
y=10
from m1 import x
执行m1结果:
1
10
1
10
第二の方法
#m1
def foo():
from m2 import y
print(y)
x=1
foo()
#m2
def boo():
from m1 import x
print(x)
y=10
boo()
执行m1函数:
10
1
10
第三の方法(溶液印刷重複)
#m1
def foo():
from m2 import y
print(y)
x=1
if __name__=="__main__"
foo()
#m2
def boo():
from m1 import x
print(x)
y=10
boo()
执行m1文件结果:
1
10
要約:
その理由は、変数は、ロードされる必要がないため、インポート時に、インポートカスタムファイルのインポートサイクルを循環するの登場であるので、ファイルを使用することができます場合は、機能にモジュールをモジュールをインポートし、インポートする場所にで