Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。
高阶函数
在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
- 接受一个或多个函数作为输入
- 输出一个函数
map
它接受一个函数f作为参数,并返回接受一个列表并应用f到它的每个元素的一个函数。
reduce
reduce
把一个函数作用在一个序列[x1, x2, x3, ...]
上,这个函数必须接收两个参数,reduce
把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
filter
接受一个函数和一个迭代器或者可迭代对象,返回一个迭代器。每次next
会选出下一个符合的值。
sorted
sorttd(list,key,reverse)