问题

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

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

  最佳答案

您可以在其他函数中使用全局变量,在分配给它的每个函数中将其声明为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关键字.

如果您想跨模块共享一个全局变量,请参阅其他答案。

  相同标签的其他问题

pythonglobal-variablesscope