返回函数

Posted on 2019-03-02 22:45  心酒  阅读(204)  评论(0编辑  收藏  举报

python中返回函数

例如,定义一个函数 f(),我们让它返回一个函数 g,可以这样写:  

def f():
    print 'call f()...'
    # 定义函数g:
    def g():
        print 'call g()...'
    # 返回函数g:
    return g            返回函数可以把一些计算延迟执行。

请编写一个函数calc_prod(lst),它接收一个list,返回一个函数,返回函数可以计算参数的乘积。

def calc_prod(lst):
    def calc_iter():
        def f(x,y):
            return x*y
        return reduce(f,lst)   
    return calc_iter

f = calc_prod([1, 2, 3, 4])
print f()