functools
模块¶
Python 一个包含高阶函数的很明显的地方便是 functools
模块,实际上的确有一些在这里。不过,
令人惊讶的是,在该模块中几乎没有多少实用高阶函数。随着新版本发布,已经出现了一些有趣的函数,但核心
开发人员并不想将其变成一个完全的函数式编程语言。另一方面,正如我们在上面的几个示例中看到的,许多
有用的高阶函数只需要几行(有时甚至是一行)来就能编写。
除了本章开头讨论 reduce()
之外,模块中的主要工具便是曾提到过的 partial()
。这种操作
在许多语言中被称为柯里化,之前也提过一些使用 partial()
的例子。functools
模块的其余
部分是有用的装饰器,这是下一节的主题。