【发布时间】:2013-03-13 18:55:12
【问题描述】:
我试图在某些函数中声明一些全局变量并将带有这些函数的文件导入另一个。但是,我发现在第二个文件中运行该函数不会创建全局变量。我尝试创建另一个具有相同名称的变量,但是当我打印出变量时,它会打印出第二个文件的值,而不是全局值
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,程序将出错(未定义值)。
如果我在函数之外的globals.py 中声明value,main.py 将采用全局value 的值,而不是default() 中设置的值
让value成为python中的全局变量的正确方法是什么?
【问题讨论】:
标签: python global-variables scope