python之函数式编程(返回函数)

1.返回函数
正常情况下当我们定义一个函数后,需要return来返回函数。
这里边我们简单介绍一下返回的区别,仔细观察下边的两个定义,一个返回的是函数,一个是具体的函数值。

def myabs():
    return abs   # 返回函数
def myabs2(x):
    return abs(x)   # 返回函数调用的结果,返回值是一个数值

作用就是可以利用返回的函数,来达到函数结果的延迟。

def calc_prod(lst):
    def s():
        sum = 1
        for x in lst:
            sum = sum * x
        return sum
    return s

f = calc_prod([1, 2, 3, 4])
print f()
#输出的结果是24

你可能感兴趣的:(Python)