n = 0
def func():
n = 1
def func2():
# n = 2
def func3():
nonlocal n
n+=1
func3()
print(n)
func2()
print(n)
func()
print(n)
2
2
0
上面这段引用nonlocal的代码,说明了nonlocal是在查找内部函数的外部函数的变量,并且不会找到全局变量(如果外部函数没有该参数,而全局变量中有,也不会找到全局变量,而是会报错)
本文通过一个具体的Python代码示例详细解析了nonlocal关键字的作用及使用场景。nonlocal用于指定一个变量不是局部变量,也不是全局变量,而是外部函数的变量。文章展示了如何正确地在一个嵌套函数中修改外部函数的变量。
942

被折叠的 条评论
为什么被折叠?



