全局变量是如何声明的?

How is a global variable declared?

我希望我的方法能够访问在方法外部定义的变量,但即使我使用 global 关键字它也说它不能:

global var = 0
def test():
  var = var +1

编译器仍然说 var 未在测试方法中定义
我的错误在哪里?

在Python中你不能声明一个全局变量。您必须在要使用变量的每个函数中声明更改变量的意图。

var = 0
def test():
  global var
  var += 1

但如果不是一次性的 50 行脚本,此时您应该开始质疑这是否是一个好主意。此外,如果您只需要从更高范围读取变量,则无需声明它,它就可以工作。仅当您要更改变量时才使用 global

您必须在函数内声明全局变量:

var = 0 
def func():
  global var
  var += 1
编辑

关注评论: 更一般地在 非全局范围