美文网首页
函数名作为返回值——闭包

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

作者: 海阔天空呢 | 来源:发表于2017-08-20 11:56 被阅读0次

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

    def a(x):

        def b():

            L='I love you'

            return L,x

        return b

    a('Kingsley')

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

    a('Kingsley')()

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

    相关文章

      网友评论

          本文标题:函数名作为返回值——闭包

          本文链接:https://www.haomeiwen.com/subject/cjkfdxtx.html