为什么不能在函数中给全局变量赋值?

1.链接:https://www.douban.com/note/603963620/

2.例题:

(1)

a = 2
def wrapper():
    a += 1
    print(a)
wrapper()
#不成立,在赋值前引用全局变量a

(2)
def wrapper():
    a = 1
    def inner():
        a += 1
        print(a)
    inner()
wrapper()
# 不成立,在赋值前引用局部变量a

UnboundLocalError: local variable 'a' referenced before assignment
(3)我们在没有用解释器执行之前,函数内部的变量可以理解不可以调用外部的变量,也就是不可以操作了,所以这里会报错.
posted @ 2018-12-06 23:42  studybrother  阅读(3254)  评论(0编辑  收藏  举报