Python 函数式编程(2) —— 返回函数

Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!
例一. 求和[1, 2, 3, 4]
def calc_sum(lst):
    def calc_sum():
        return sum(lst)
    return calc_sum

f = calc_sum([1, 2, 3, 4])
print(f())
例二. 请编写一个函数calc_prod(lst),它接收一个list,返回一个函数,返回函数可以计算参数的乘积。
from functools import reduce
def calc_prod(lst):
    def prod():
        return reduce((lambda a, b: a*b), lst)
    return prod
       
f = calc_prod([1, 2, 3, 4])
print(f())

posted @ 2016-12-19 17:34  go_ahead  阅读(339)  评论(0编辑  收藏  举报