84:nonlocal_global

###nonlocal 关键字

nonlocal 用来声明外层的局部变量。
global 用来声明全局变量。

【操作】使用 nonlocal 声明外层局部变量

# 测试 nonlocal、global 关键字的用法
a = 100


def outer():
    b = 10

    def inner():
        nonlocal b  # 声明外部函数的局部变量
        print("inner b:", b)
        b = 20
        global a  # 声明全局变量
        a = 1000
    
    inner()
    print("outer b:", b)


outer()
print("a:", a)

输出结果:

D:\work\python\two\venv\Scripts\python.exe D:\work\python\two\mypy20.py 
inner b: 10
outer b: 20
a: 1000

 

posted @ 2022-11-19 14:31  竹蜻蜓vYv  阅读(15)  评论(0编辑  收藏  举报