我看到python 3.2在functools库中具有作为装饰器的备注。 http://docs.python.org/py3k/library/functools.html#functools.lru_cache
不幸的是,它还没有反向移植到2.7。有什么特定的原因,为什么它在2.7中不可用?是否有任何第三方库提供相同的功能,或者我应该编写自己的库?
有什么特定的原因,为什么它在2.7中不可用?
@Nirk已经提供了原因:不幸的是,2.x行仅收到错误修复,并且仅针对3.x开发了新功能。
是否有任何第三方库提供相同的功能?
repoze.lru 是适用于Python 2.6,Python 2.7和Python 3.2的LRU缓存实现。
repoze.lru
文档和源代码可在GitHub上获得。
简单用法:
from repoze.lru import lru_cache @lru_cache(maxsize=500) def fib(n): if n < 2: return n return fib(n-1) + fib(n-2)