高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。
def a(x):
def b():
L='I love you'
return L,x
return b
a('Kingsley')
返回的结果表示一个函数而非值。因为返回b,而b只是被封装起来,只有返回b()才会被调用。
a('Kingsley')()
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。
def a(x):
def b():
L='I love you'
return L,x
return b
a('Kingsley')
返回的结果表示一个函数而非值。因为返回b,而b只是被封装起来,只有返回b()才会被调用。
a('Kingsley')()
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。