全局变量是如何声明的?
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
编辑
关注评论:
更一般地在
非全局范围
我希望我的方法能够访问在方法外部定义的变量,但即使我使用 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
编辑
关注评论: 更一般地在 非全局范围