高阶函数,简单的写一些有关高阶函数的知识点
1.引子—变量可指向函数
变量f指向abs函数本身,直接调用abs()函数和调用变量f()完全相同。
2.高阶函数
变量可以指向函数,而函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
将函数作为作为参数传入,函数式编程就是指这种高度抽象的编程范式
3.map()函数
map()函数接收两个参数:一个是函数;另一个是Iterable。map将传入的函数依次作用到序列的每个元素,最后结果作为新的Iterator返回。
4.reduce()函数
reduce()函数接受两个参数,reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。
效果如下:reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
注意:记得加上from functools import reduce,否则会显示reduce未被定义。