函数名作为返回值——闭包

2017-08-20  本文已影响0人  海阔天空呢

高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。

def a(x):

    def b():

        L='I love you'

        return L,x

    return b

a('Kingsley')

返回的结果表示一个函数而非值。因为返回b,而b只是被封装起来,只有返回b()才会被调用。

a('Kingsley')()

像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)

上一篇下一篇

猜你喜欢

热点阅读