小能豆

Python 中 global 和 nonlocal 关键字有什么区别?

py

Python 中 global 和 nonlocal 关键字有什么区别?


阅读 28

收藏
2024-11-06

共1个答案

小能豆

  • global:用于在函数内部声明变量为全局变量,使其在函数内外都可以访问和修改。
  • nonlocal:用于声明变量为外层作用域(但非全局作用域)的变量,允许在嵌套函数中修改外层函数的变量。

示例

# global
x = 10
def func():
    global x
    x = 20

func()
print(x)  # 输出 20

# nonlocal
def outer():
    y = 30
    def inner():
        nonlocal y
        y = 40
    inner()
    print(y)  # 输出 40

outer()
2024-11-06