python 闭包

1 def addx(x):
2     def addy(y):
3         return x+y
4     return addy

在一个内部函数里对一个外部变量(不是全部变量)进行引用,则该内部函数即为闭包(closure)。

即addy里面对x进行引用,且x是一个外部变量且不是全局变量,保持了第一次调用时候的x的值。

调用的时候可以

c=addx(4)
#将形参x赋值为4并且将addx的返回值addy赋值给c
c(4) #8
#即执行了addy(4)返回了4+4=8也可以addx(4)(4)

 

posted @ 2013-05-06 09:52  dacy  阅读(107)  评论(0编辑  收藏  举报