Python学习之路(函数式编程之闭包)

高阶函数之返回函数 即闭包

举例说明:
我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变量,
当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”的程序结构拥有极大的威力。
在javascript中也经常被用到,很强大。

def lazy_sum(L):
    def sum():
        ax = 0
        for s in L:
            ax = ax + s
        return ax
    return sum
f = lazy_sum([1,2,3,4])
print(f()) # 调用f()方法时 才会执行

关注一波!喜欢一波!本人是前端菜鸟,正在做自己的个人博客邓鹏的博客,欢迎来交流学习, 使用的技术 vue + koa2 + mysql + php + nginx!

你可能感兴趣的:(Python学习之路(函数式编程之闭包))