Python函数作为返回值

描述

函数作为返回值

函数除了作为代码块,作为接收参数,还可以把函数作为结果返回。 例子:

可变参数的求和:

通常

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, 3, 5, 7, 9)
 > > > f
< function lazy_sum.< locals >.sum at 0x101c6ed90 >

调用函数f时,才真正计算求和的结果:

 >> > f()
25

每次的调用都会返回一个新的函数,即使是传入相同的参数。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分