24.闭包现象

混江龙づ霸主 提交于 2019-11-30 06:24:29
# 闭包现象def outer():    n="曹娜是傻逼"    def inner():        print(n)    return  innerf=outer()f()1,函数嵌套2,inner函数,没有n变量,根据作用域查找顺序,会找到outer的变量n,3,outer函数返回值inner ,返回的是inner的内存地址。4,一般来讲,outer()加括号调用,函数执行,返回inner内存地址,局部变量n瞬间释放。但是,在执行f()就相当于执行inner(),inner函数打印n,依然可以打印。这种现象就是闭包。意义 :返回的函数对象,不仅仅是一个函数,在该函数外还包裹了一层作用域,使得  函数无论在何处调用,优先使用自己外层的作用域
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!