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的赋值