# coding:utf-8
sum = 5
def add(x, y):
print sum
sum = x + y
if __name__ == '__main__':
add(7, 8)
上面的代码在执行的时候会出错,错误信息是:
Traceback (most recent call last):
File "test.py", line 11, in
add(7, 8)
File "test.py", line 6, in add
print sum
UnboundLocalError: local variable 'sum' referenced before assignment
想请教一下为什么会出错,
在print sum的时候sum用的是全局变量sum,之后的sum = x+y相当于在add函数内部创建一个局部变量sum,我觉得应该没什么问题。但是就是报错了。
如果将print语句拿到sum赋值语句语句下面就不会报错,代码如下
# coding:utf-8
sum = 5
def add(x, y):
sum = x + y
print sum
if __name__ == '__main__':
add(7, 8)
哪位大神能解释一下吗?不胜感激!
python全局变量有缩进吗_Python全局变量和局部变量的问题 400 请求报错-问答-阿里云开发者社区-阿里云...
如果觉得《python全局变量有缩进吗_Python全局变量和局部变量的问题 400 请求报错 -问答-阿里》对你有帮助,请点赞、收藏,并留下你的观点哦!