現在有兩個檔案:
a.py:
x=1
from b import *
printx()
b.py:
def printx():
print(x)
在命令列中呼叫$ python3 a.py
會有NameError,這裡有點不理解,直接呼叫a.py的時候,x不能算全域變數嗎?根據LEGB規則,為什麼會出錯呢?
phpcn_u15822017-05-18 10:52:10
x只是a檔案內可見呀
a檔案中import了b只是使b檔案中的方法printx對a檔案可見,可以呼叫它,並沒有改變x對b檔案的不可見性。 。