我希望我的方法可以访问方法外定义的变量,但即使我使用全局关键字,它也表示不能:
global var = 0
def test():
var = var +1
编译器仍然说测试方法中没有定义var
我的错误在哪里?
答案 0 :(得分:1)
在Python中,您无法声明变量global。您必须声明您想要在每个要使用它的函数中更改变量的意图。
var = 0
def test():
global var
var += 1
但如果不是一次性的50行剧本,那么你应该开始质疑它是否是一个好主意。此外,如果您只需要从更高的范围读取变量,则无需声明它,它只是起作用。仅在您要更改变量时才使用global
。
答案 1 :(得分:1)
你必须在函数中声明全局变量:
var = 0
def func():
global var
var += 1
编辑
注意评论: 更普遍的内部 非全球范围