Python 高阶函数

高阶函数的概念之前学习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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容