码迷,mamicode.com
首页 > 其他好文 > 详细

nonlocal关键字

时间:2018-04-27 13:32:20      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:ide   outside   bsp   nbsp   隐藏   oca   内部函数   class   函数   

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关键字

标签:ide   outside   bsp   nbsp   隐藏   oca   内部函数   class   函数   

原文地址:https://www.cnblogs.com/ducklu/p/8960921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!