python - 在函数中使用全局变量

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

如何在其他函数中使用在一个函数中定义的全局变量?


未能在适当的地方使用 global 关键字通常会导致 UnboundLocalError。确切的规则在 UnboundLocalError on local variable when reassigned after first use 中有解释。 .通常,请在寻求解释时将其他问题作为 that 问题的副本关闭,当有人只需要了解 global 时,请关闭 this 问题关键字。

最佳答案

您可以在其他函数中使用全局变量,方法是在为其分配值的每个函数中将其声明为 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

由于不清楚 globvar = 1 是创建局部变量还是更改全局变量,Python 默认创建局部变量,并让您使用 global 显式选择其他行为关键字。

如果您想跨模块共享全局变量,请查看其他答案。

https://stackoverflow.com/questions/423379/

相关文章:

python - 如何获取当前时间?

python - 如何制作函数装饰器并将它们链接在一起?

python - 在一行中捕获多个异常( block 除外)

windows - 如何在 Windows 上安装 pip?

python - 检查给定键是否已存在于字典中

python - 查找列表中项目的索引

python - 使用 'for' 循环遍历字典

python - 如何从列表列表中制作平面列表?

python - __str__ 和 __repr__ 有什么区别?

python - 我如何做一个时间延迟?