python 闭包

一、闭包:

        如果在一个内部函数里对外部作用域(当不是在全局作用域的变量进行引用),那么内部函数就认为是闭包close

eg:

def funX(x):

    def FunY(y):

        return x*y

return FunY

解释:

#python 里面所有东西都是对象,所以我们在python里面任何东西只用记住名字就行,不用管他什么类型,数据,变量,因为所有东西都是对象,因此可以将函数对象直接返回

1)对于funX(x)来说,funY()就是他的一个内部函数

2)对于funY()来说,funX(x)的整个函数空间就是他的外部作用域

3)因此funY()就是一个闭包

调用方法:

FunX(8)(5)

结果是40

其中x是对8 的赋值而5是对y的赋值

python 闭包