Python函数的闭包

  在一个函数内部定义另一个函数,那么外面的函数叫做外函数,内部的函数叫做内函数。在一个外函数中定义了一个内函数,这个内函数调用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。
  一般情况下,在我们的认知中,一个函数结束,函数内部的所有东西都会释放掉,还给内存,局部变量也都会消失。但是闭包是一种特殊情况,但外函数结束的时候,发现自己的临时变量将来会被内函数调用,就把这个临时变量绑定给了内函数,然后自己再结束。

   def outer(b):
          a = 10
          def inner():
                  print(a+b)
          return inner
   if __name__ == '__main__':
          demo = outer(5)
          demo()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 8,030评论 2 9
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,721评论 0 13
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,001评论 8 265
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,391评论 17 410
  • 今天看了娃娃的文章,那么多努力又美又努力的女人,我凭什么在这里懒惰着,所以从今天起,我要开始继续我的日记之旅。 美...
    水水_6eeb阅读 832评论 0 0

友情链接更多精彩内容