global关键字
我们知道global
关键字用于表示全局变量。
name = 'root'
def outer():
name = 'admin'
def inner():
global name # 引用全局的作用域
name = 'xxx'
inner()
print(name) # admin
outer()
print(name) # xxx
nonlocal关键字
而当我们不想使用全局变量,指向上级作用域变量时,就可以通过nonlocal
来指定。
name = 'root'
def outer():
name = 'admin'
def inner():
nonlocal name # 指向上级作用域的那么
name = 'xxx'
inner()
print(name) # xxx
outer()
print(name) # root