当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python functools.cache用法及代码示例


用法:

@functools.cache(user_function)

简单的轻量级无界函数缓存。有时称为 “memoize”

返回与 lru_cache(maxsize=None) 相同的返回值,围绕函数参数的字典查找创建一个瘦包装器。因为它永远不需要逐出旧值,所以它比具有大小限制的 lru_cache() 更小更快。

例如:

@cache
def factorial(n):
    return n * factorial(n-1) if n else 1

>>> factorial(10)      # no previously cached result, makes 11 recursive calls
3628800
>>> factorial(5)       # just looks up cached value result
120
>>> factorial(12)      # makes two new recursive calls, the other 10 are cached
479001600

3.9 版中的新函数。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 functools.cache。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。