nonlocal关键字

Posted ducklu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nonlocal关键字相关的知识,希望对你有一定的参考价值。

nonlocal适用于嵌套函数中内部函数修改外部变量的值

如果没有使用以上关键字,对全局变量或者外部变量进行修改,python会默认将全局变量隐藏起来

 1 #例1:
 2 
 3 def outside():
 4   var = 5
 5   def inside():
 6     var = 3
 7     print(var)
 8 
 9   inside()
10 outside()
11 
12 #例2:
13 
14 def outside():
15   var = 5
16   def inside():
17     print(var)  inside函数改变了var所以python将var隐藏了起来,这里的print找不到var因而报错。
18     var = 3
19 
20   inside()
21 outside()

 

例1不会显示报错,但是例2会

以上是关于nonlocal关键字的主要内容,如果未能解决你的问题,请参考以下文章

Python 关键字之 nonlocal

nonlocal关键字

函数里面的global 和 nonlocal 关键字的使用

python中的关键字global和nonlocal

#抬抬小手学Python# Python 之作用域下的 global 和 nonlocal 关键字

何时使用 nonlocal 关键字? [复制]