分析し、問題を解決するためのpythonのインポートエラーサイクル

分析し、問題を解決するための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
要約:

その理由は、変数は、ロードされる必要がないため、インポート時に、インポートカスタムファイルのインポートサイクルを循環するの登場であるので、ファイルを使用することができます場合は、機能にモジュールをモジュールをインポートし、インポートする場所にで

おすすめ

転載: www.cnblogs.com/chuwanliu/p/10980457.html