最近写python遇到个函数内部变量使用外部变量的问题,现在总结下吧
#!/usr/bin/env python
a = 100
def su():
a = a + 1
print(a)
s = su()
#执行这段代码会报错(如果只是调用不修改是不会报错的)
更改为:
#!/usr/bin/env python
a = 100
def su():
global a
a = a + 1
print(a)
s = su()
总结:
在python的函数中和全局同名的变量,如果修改变量的值就会变成局部变量,
在修改之前对该变量的引用自然就会出现没定义这样的错误了,
如果确定要引用全局变量,并且要对它修改,必须加上global关键字。