2019-01-30
阅读量:
751
python 变量作用域问题的不理解
python变量作用域问题的不理解
a = 5
def fun():
a += 3
print(a)
fun()
报错:
# UnboundLocalError: local variable 'a' referenced before assignment
答:
在 python 中 a += 3 其实就是a = a + 3此时 相当于在函数内部声明了变量 a, 所以是调用不到外部的a的。如果想调用外部的变量 a 需要这样修改代码:
a = 5
def fun():
global a
a += 3
print(a)
fun()
在ipython中执行结果如下:

此时 全局变量a已经被修改







评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论