小编999*_*ars的帖子

Python中的本地函数

在下面的Python代码中,我得到了一个UnboundLocalError.据我所知,局部函数共享包含函数的局部变量,但这似乎不是这里的情况.我认识到a在这种情况下这是一个不可变的值,但这应该不是问题.

def outer():
    a = 0
    def inner():
        a += 1
    inner()
outer()
Run Code Online (Sandbox Code Playgroud)

看起来内部函数已经收到了父函数中所有引用的副本,因为UnboundLocalError如果值的值a被包装在一个可变类型中,我就不会得到异常.

有人能够澄清这里的行为,并指出相应的Python文档吗?

python binding model function local

33
推荐指数
3
解决办法
3万
查看次数

标签 统计

binding ×1

function ×1

local ×1

model ×1

python ×1