在Python的变量使用中,经常会遇到这样的错误:
local variable ‘a’ referenced before assignment
它的意思是:局部变量“a”在赋值前就被引用了。
比如运行下面的代码就会出现这样的问题:
a = 3
def Fuc():
print (a)
a = a + 1
Fuc()
但是如果把 a = a + 1 这一句删除又不会出现上述问题了
a = 3
def Fuc():
print (a)
Fuc()
原来,在Python中,a=3
文章目录1.局部变量2.全局变量
1.局部变量
在 def 中, 我们可以定义一个局部变量, 这个变量 a 只能在这个功能 fun 中有效, 出了这个功能, a 这个变量就不是那个局部的 a.
def fun():
a = 10
print(a)
return a+90
print(fun())
下面这个例子就验证了如果在 fun 外面调用 a, 会报错, 这表明外面的这个 print(a) 不能找到那个局部的 a, 只有全局变量再能在外面被调用, 比如 MAX_LEN