如何在函数中创建或使用全局变量?

如果在一个函数中创建全局变量,如何在另一个函数中使用该全局变量?我是否需要将全局变量存储在需要对其进行访问的函数的局部变量中?

最佳答案

您可以在其他函数中使用全局变量,方法是在每个为其分配值的函数中将其声明为global:

globvar = 0

def set_globvar_to_one():
    global globvar    # Needed to modify global copy of globvar
    globvar = 1

def print_globvar():
    print(globvar)     # No need for global declaration to read value of globvar

set_globvar_to_one()
print_globvar()       # Prints 1
我想这是因为全局变量是如此危险,Python希望通过明确要求global关键字来确保您真正知道这就是要使用的内容。
如果要在模块之间共享全局变量,请参见其他答案。

10-08 06:54