Python全局变量的作用域
Python全局变量的作用域
我试图在一些函数中声明一些全局变量,并将包含这些函数的文件导入到另一个文件中。然而,我发现在第二个文件中运行该函数不会创建全局变量。我尝试使用相同名称创建另一个变量,但是当我打印出该变量时,它打印出第二个文件的值,而不是全局值。
globals.py
def default(): global value value = 1
main.py
from globals import * value = 0 def main(): default() print value if __name__=='__main__': main()
这将打印出0。如果我在main中没有value = 0
,程序将出错(value未定义)。
如果我在globals.py
中的函数外部声明value
,main.py
将采用全局value
的值,而不是在default()
中设置的值。
在Python中如何正确地将value
作为全局变量?