1 什么是闭包
闭包是一种设计模式,闭包使得程序员可以编码出更加简洁的代码。
2 闭包的结构
第一,必须包含一对嵌套函数,即外部函数和内部函数。
第二,内部函数必须引用外部函数的局部变量。
第三,外部函数必须返回内部函数,注意这里返回的是内部函数本身,而不是返回对内部函数的调用。
3 闭包的例子
关于正方形和立方体的函数,仅指数不同(分别为:2 和 3)
传统方式:
>>
def square(x):
return x**2
def cube(x):
return x**3
square(2)-->4
cube(2)-->8
闭包:
>>
def fpower(exp):
def inner(x):
return x**exp
return inner
square = fpower(2)
cube = fpower(3)
square(2)-->4
cube(2)-->8