在python中从内部函数修改函数变量

发布于 2021-01-29 17:30:44

可以获取并打印外部函数变量 a

def outer():
    a = 1
    def inner():
        print a

也可以获取外部函数数组a并附加一些内容

def outer():
    a = []
    def inner():
        a.append(1)
        print a

但是,当我尝试增加整数时,这引起了一些麻烦:

def outer():
    a = 1
    def inner():
        a += 1 #or a = a + 1
        print a

>> UnboundLocalError: local variable 'a' referenced before assignment

为什么会发生这种情况,如何实现我的目标(增加整数)?

关注者
0
被浏览
145
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Python 2的解决方法:

    def outer():
        a = [1]
        def inner():
            a[0] += 1
            print a[0]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看