21.Python函数式编程 返回函数 详解

本文详细介绍了Python中的函数式编程,特别是返回函数的概念。通过示例展示了如何创建返回函数的高阶函数,以及如何利用闭包保留函数内部的状态。文中强调了在返回函数时避免引用循环变量的注意事项,并给出了使用闭包解决此类问题的方法。
摘要由CSDN通过智能技术生成
  • 函数作为返回值

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

    我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的:

    def calc_sum(*args):
        ax = 0
        for n in args:
            ax = ax + n
        return ax
    
  • 但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数:

    def lazy_sum(*args):
        def sum():
            ax = 0
            for n in args:
                ax = ax + n
            return ax
        return sum
    

    当我们调用lazy_sum()时,返回的并不是求和结果,而是求和函数:

    >>> f = lazy_sum(1,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值