Python functools 模块
实例
使用缓存函数:
from functools import lru_cache
@lru_cache(maxsize=2)
def add(a, b):
return a + b
print(add(1, 2))
print(hasattr(add, "cache_info"))
亲自试一试 »
定义和用法
functools 模块提供对可调用对象的高阶函数和操作。
它可用于缓存、函数偏函数应用、装饰器以及帮助构建基于函数的实用程序的工具。
成员
| 成员 | 描述 |
|---|---|
| cache() | 简单的无界缓存装饰器(类似于没有大小限制的 lru_cache)。 |
| cached_property | 将方法结果缓存为属性的描述符。 |
| cmp_to_key() | 将旧式比较函数转换为键函数。 |
| lru_cache() | 使用最近最少使用缓存包装函数的装饰器。 |
| partial | 创建一个对给定参数进行部分应用的新函数。 |
| partialmethod | 用于类中的方法的部分版本。 |
| reduce() | 将一个接受两个参数的函数累加应用于序列中的元素。 |
| singledispatch() | 单分派泛型函数的装饰器。 |
| singledispatchmethod() | 单分派泛型方法描述符。 |
| total_ordering() | 用于填充缺失排序方法的类装饰器。 |
| update_wrapper() | 更新包装函数,使其外观与被包装函数相同。 |
| wraps() | 用于使用被包装函数的属性更新包装函数的装饰器。 |

