nonlocal可以修改外层函数变量

这样内层函数 mum+=1,不能修改外层函数的num

def outer():
    #外部函数变量
    num = 10
    def inner():
        #内层函数修改外层函数变量不能修改,如果想修改,加nonlocal,如下:
        num += 1
    inner()
outer()

使用nonlocal可以修改外层函数变量num

def outer():
    #外部函数变量
    num = 10
    def inner():
        #用nonlocal在局部函数中,
        nonlocal num
        num += 1
    inner()
    return num
res = outer()
print(res)

posted @ 2021-11-24 22:40  john5的博客  阅读(47)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css