迴圈匯入問題

2022-09-01 17:48:09 字數 1008 閱讀 6912

# m1.py

print('from m1.py')

from m2 import x

y = 'm1'

建立m2的命名空間

執行m2.py,將執行產生的名字丟到m2.py

在當前執行檔案中拿到m2.x

# m2.py

print('from m2.py')

from m1 import y

x = 'm2'

建立m1的命名空間

執行m1.py,將執行產生的名字丟到m1.py

在當前執行檔案中拿到m1.y

# run.py

import m1

建立m1的命名空間

執行m1.py,將執行產生的名字丟到m1.py

在當前執行檔案中拿到m1

我們可以使用函式定義階段只識別語法的特性解決迴圈匯入的問題,我們也可以從本質上解決迴圈匯入的問題,但是最好的解決方法是不要出現迴圈匯入。

# m1.py

print('from m1.py')

def func1():

from m2 import x

print(x)

y = 'm1'

# m2.py

print('from m2.py')

def func1():

from m1 import y

print(y)

x = 'm2'

# m1.py

print('from m1.py')

y = 'm1'

from m2 import x

# m2.py

print('from m2.py')

x = 'm2'

from m1 import y

迴圈匯入問題

目錄python從入門到放棄完整教程目錄 m1.py print from m1.py from m2 import x y m1 建立m2的命名空間 執行m2.py,將執行產生的名字丟到m2.py 在當前執行檔案中拿到m2.x m2.py print from m2.py from m1 impo...

迴圈匯入問題

m1.py print from m1.py from m2 import x y m1 m2.py print from m2.py from m1 import y x m2 run.py import m1 我們可以使用函式定義階段只識別語法的特性解決迴圈匯入的問題,我們也可以從本質上解決迴圈...

迴圈匯入問題

目錄 m1.py print from m1.py from m2 import x y m1 建立m2的命名空間 執行m2.py,將執行產生的名字丟到m2.py 在當前執行檔案中拿到m2.x m2.py print from m2.py from m1 import y x m2 建立m1的命名空...