最近我設置了這個例子,並且對結果感到驚訝。我將與代碼演示了這一點:Python多模塊全局變量。 Python中的錯誤?
文件1:b.py:
delta = 0.0
def example():
global delta
delta = 1
def ret_delta():
return delta
文件2:a.py:
from b import *
example()
#WHY ARE THESE DIFFERENT?
print(delta) # prints: 0.0
print(ret_delta()) # prints: 1
這是沒有意義的!爲什麼要訪問變量並調用返回該變量的函數會有什麼不同?
爲了您在Windows 32位
'from b import *'是不好的形式(並且模糊在這種情況下發生的事情是其中一個原因)。考慮'輸入b'並使用'b.delta'來代替。這是更明確的,_and_將實際上按照您的預期工作。 – marcelm