Python—闭包

闭包的定义:即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数)。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数和函数声明(最初时)的值是外部函数返回时的值,但也会受到内部函数的影响。

 1 def outer():
 2     name = 'alex'
 3 
 4     def inner():
 5         print("在inner里打印外层函数的变量",name)
 6 
 7     return inner
 8 
 9 
10 f = outer() 
11 
12 f()

 

posted @ 2018-08-19 20:34  ZivLi  阅读(123)  评论(0编辑  收藏  举报