Python函数的闭包

2018-05-30  本文已影响0人  一许青衫一

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

   def outer(b):
          a = 10
          def inner():
                  print(a+b)
          return inner
   if __name__ == '__main__':
          demo = outer(5)
          demo()
上一篇 下一篇

猜你喜欢

热点阅读