手记

python 返回函数

#!/usr/bin/env python
# -*- coding:utf-8 -*-

#返回函数
#延迟计算
def calc_sum(list):
    def lazy_sum():
        return sum(list)
    return lazy_sum
f=calc_sum([1,2,3,4])
print  f
#<function lazy_sum at 0x00BB5A30>
print f()  #结果是10

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


def calc_prod(lst):
    def prod(x, y):
        return x * y
    a = reduce(prod, lst)#reduce 定义这个函数计算乘积

    def lazy_prod():
        return a
    return lazy_prod

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

0人推荐
随时随地看视频
慕课网APP