最近我设置了这个例子,并且对结果感到惊讶。我将与代码演示了这一点: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