热线电话:13121318867

登录
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.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子