Python 高阶函数

2020-04-21  本文已影响0人  三元一只十元三只

高阶函数的概念之前学习React的时候也了解过。所谓高阶函数就是定义一个函数,该函数接收另一个函数作为参数。一个简单的例子:

def add(x,y,f):
    return f(x) + f(y)

我们定义的add就是一高阶函数,参数f是另一个函数,在add内部调用。
我们可以通过如下代码,打印结果验证:

print(add(-5,6,abs))

map

map是python的内置方法,用以遍历序列。他接收两个参数,第一个是被执行的函数,第二个是Iterable,一个序列。map会将序列中的每个元素依次作用到函数中,最终结果作为新的序列返回。看一个例子:

# 先定义一个被执行函数
def f(x):
    return x*x

r = map(f,[1,2,3,4,5,6,7])

list(r)
# 打印结果 [1,4,9,16,25,36,49]

reduce

reduce同样接受两个参数,第一个是函数,第二个是序列,不同的是reduce的第一个参数函数必须也接收两个参数,reduce会把函数返回的结果依次跟序列的下一个元素做累计计算:

from functools import reduce
def add(x,y):
    return x+y

reduce(add,[1,3,5,7,9])
# 25
上一篇 下一篇

猜你喜欢

热点阅读