Python 中的 Global 和 Nonlocal 关键字(python global声明全局变量、python nonlocal声明外层非全局作用域变量,主要用在嵌套函数中)模块作用域
在Python中,global
关键字用于指定变量是全局的,而nonlocal
关键字用于指定变量是上一级非全局作用域中的。
- global关键字
当内部作用域想修改全局作用域的变量时,需要用到global关键字。
def func():
global x
x = 10
x = 5
func()
print(x) # 输出10
- nonlocal关键字
当内部作用域想修改外部非全局作用域的变量时,需要用到nonlocal关键字。
def outer():
x = 5
def inner():
nonlocal x
x = 10
inner()
print(x)
outer() # 输出10
注意:
- 使用
global
关键字可以指定变量是全局的,但在内部作用域修改全局变量时,一般不推荐使用。 - 使用
nonlocal
关键字可以指定变量是上一级非全局作用域的,如果上级作用域也没有这个变量,程序会报错。
评论已关闭