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