高阶函数可以分为以下三类。
- 以函数为参数的函数。
- 以函数为返回值的函数,例如
Callable
类。也可以将返回生成器表达式的函数视为高阶函数。 - 以函数为参数,并且返回函数的函数,例如
functools.partial()
。
我们将使用高阶函数处理简单形式的数据,改变数据的结构,以及执行如下变换:
- 打包数据,生成更复杂的对象;
- 从复杂数据对象中抽取某个组件;
- 平铺复杂数据序列;
- 结构化一维数据序列。
Callable
类对象常用于那些返回可调用对象的函数,后面会利用它编写能注入配置参数的函数。