# 闭包现象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,依然可以打印。这种现象就是闭包。意义 :返回的函数对象,不仅仅是一个函数,在该函数外还包裹了一层作用域,使得 函数无论在何处调用,优先使用自己外层的作用域
来源:https://www.cnblogs.com/xh716/p/11568000.html