# 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的命名空...