VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • nonlocal关键字

1、nonlocal的作用是什么?是基于python的什么特点?
  通过nonlocal关键字,可以使内层的函数直接使用外层函数中定义的变量
  在Python中,函数的定义可以嵌套,即在一个函数的函数体中可以包含另一个函数的定义。
2、Demo
不使用nonlocal关键字案例
复制代码
def outer(): #定义函数outer
  x=10 #定义局部变量x并赋为10
  def inner(): #在outer函数中定义嵌套函数inner
    x=20 #将x赋为20
    print('inner函数中的x值为:',x)
  inner() #在outer函数中调用inner函数
  print('outer函数中的x值为:',x)
outer() #调用outer函数
复制代码

输出:inner函数中的x值为: 20

   outer函数中的x值为: 10

提示:在inner函数中通过第四行的“x = 20”定义了一个新的局部变量x并将其赋为20
 
使用nonlocal关键字案例
复制代码
1 def outer(): #定义函数outer 
2     x=10 #定义局部变量x并赋为10 
3     def inner(): #在outer函数中定义嵌套函数inner 
4         nonlocal x #nonlocal声明 
5         x=20 #将x赋为20 
6         print('inner函数中的x值为:',x) 
7     inner() #在outer函数中调用inner函数 
8     print('outer函数中的x值为:',x) 
9 outer() #调用outer函数        
复制代码
输出:inner函数中的x值为: 20
   outer函数中的x值为: 20
 
 提示:通过“nonlocal x”声明在inner函数中使用outer函数中定义的变量x,而不是重新定义一个局部变量x

 

披荆斩棘,仗剑天涯
出处:https://www.cnblogs.com/szx666/p/14168727.html
 

相关教程