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())