functools 模块

Python 一个包含高阶函数的很明显的地方便是 functools 模块,实际上的确有一些在这里。不过, 令人惊讶的是,在该模块中几乎没有多少实用高阶函数。随着新版本发布,已经出现了一些有趣的函数,但核心 开发人员并不想将其变成一个完全的函数式编程语言。另一方面,正如我们在上面的几个示例中看到的,许多 有用的高阶函数只需要几行(有时甚至是一行)来就能编写。

除了本章开头讨论 reduce() 之外,模块中的主要工具便是曾提到过的 partial()。这种操作 在许多语言中被称为柯里化,之前也提过一些使用 partial() 的例子。functools 模块的其余 部分是有用的装饰器,这是下一节的主题。