Python 关键字 - nonlocal

在Python中,nonlocal 关键字用于访问最近的非全局封闭作用域中的变量。
它用于嵌套函数中,我们想要修改外部函数中定义的变量。

💡 用法

当我们想要修改最近的非全局封闭作用域中的变量时,使用 nonlocal 关键字。
它允许我们从内部函数中访问和修改外部函数中的变量。

✏️ 语法

python
nonlocal 变量名

在上面的代码中,变量名 是我们想要在最近的封闭作用域中访问和修改的变量的名称。

📘 示例

python
def outer_function():
    x = 10
    
    def inner_function():
        nonlocal x
        x += 5
        print(x)
    
    inner_function()

outer_function()

在上面的代码中,我们有一个外部函数 outer_function(),它定义了一个值为10的变量 x
在外部函数内部,我们有一个内部函数 inner_function(),它使用 nonlocal 关键字从外部函数中访问和修改变量 x。我们将 x 的值增加5并打印更新后的值。当我们调用 outer_function() 时,它将执行内部函数并打印 x 的值为15。

⚠️ 注意

  • nonlocal 关键字只能在嵌套函数中使用。
  • nonlocal 关键字用于访问和修改最近的非全局封闭作用域中的变量。
  • 如果一个变量在最近的封闭作用域中没有定义,将会引发 SyntaxError