首页 > 其他 > 详细

函数的嵌套和作用域

时间:2017-12-27 22:58:39      阅读:228      评论:0      收藏:0      [点我收藏+]

函数的嵌套定义

①内部函数可以使用外部函数的变量

作用域链

在内部函数使用变量时,是从小局部到大局部到全局到内置名字的过程中一级一级网上找,找到最近的一个就使用

nonlocal a 声明一个上层局部变量,往上走一级离得最近并且有a

1、对全局无效

2、对局部的最近的一层产生影响

闭包嵌套函数,内部函数调用外部函数的变量

不调用不是闭包是嵌套

def outer()

  a = 1

  def inner():

    print(a)

outer()

闭包的应用

可以保护变量,保护上一级局部变量中a = 1 生存周期

def outer()

  a= 1

  def inner()

    return innner

  print(a)

inn = outer()    #用imn接收return inner

inn()    #直接调用函数,省去a重复创造并使用,节省内存空间

函数的嵌套和作用域

原文:https://www.cnblogs.com/Ebola-/p/8127939.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!