小编her*_*ert的帖子

外部函数中的嵌套函数更改变量不起作用

def some_func(a): 
    def access_a():
        print(a)
    access_a()
Run Code Online (Sandbox Code Playgroud)

输出 的值a。但是,如果我想像这样更改a嵌套函数:

def some_func(a): 
    def change_a():
        a += 1
        print(a)
    change_a()
Run Code Online (Sandbox Code Playgroud)

它引发UnboundLocalError异常。

我知道a是一个非局部变量,但为什么我可以在不声明的情况下访问它nonlocal a

python nested python-3.x python-nonlocal

5
推荐指数
1
解决办法
2791
查看次数

标签 统计

nested ×1

python ×1

python-3.x ×1

python-nonlocal ×1