0
我有一個模塊代碼:作用域在Python模塊
X = 88
def f():
global X
X = 99
而另一個文件使用這個模塊:
from First import X,f
X = 11
f()
print(X)
現在按照我的理解,因爲我們明確地輸入符號x和f他們應該成爲導入模塊名稱空間的一部分。
而且由於函數f改變了全局X.答案應該是99
但是,這似乎並不如此,因爲輸出是11
請幫助我瞭解爲什麼?
非常感謝。因此,基本上使用from語句(來自 import *)意味着我們可以使用導入模塊中的對象,而不用模塊名稱對它們進行限定。但是對於所有的實際用途來說,這只是寫入import –
@SubhayanBhattacharya:'從模塊導入*'在'module'中爲每個可用名稱在命名空間中創建新名稱(可用取決於'module .__ dir__'如果沒有'module .__ dir__',''name name [dir(module)if name [0]!='_']'。 –
@SubhayanBhattacharya:另一方面,'import module'只在名字空間中設置名稱'module'。而已。所以不,這是不正確的,'import module'與'from module import *'完全不同。 –