Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python nonlocal 关键字

Python nonlocal 关键字 Python nonlocal 关键字


在理解Python的nonlocal的关键字前,要明确Python引用变量的顺序。

Python引用变量的顺序:当前作用域局部变量->外层作用域变量->当前模块中的全局变量->Python内置变量

nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。

示例如下:

def make_counter():
    count = 0

    def counter():
        nonlocal count  # 非本地变量,使用外部变量count
        count += 1
        return count

    return counter


mc = make_counter()  # 返回嵌套函数counter
print(mc())
print(mc())
print(mc())

与nonlocal关键字相对应的是global关键字,详情请参见Python global 关键字