问题

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



解决方法

您可以在其他函数中使用全局变量,在分配给它的每个函数中将其声明为 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想要确保你真的知道你正在玩,通过显式要求全局关键字. / p>

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




相关问题推荐