python @memoize与functools.lru_cache

s5s*_*s5s 3 python

我不确定这两个的优缺点是什么。@lru_cachefunctools 提供的是一个标准库工具,似乎对它有更多的控制权@memoize,为什么还@memoize存在?

编辑:我指的是从这里记忆-> https://wiki.python.org/moin/PythonDecoratorLibrary#Memoize

Jon*_*ler 5

functools.lru_cache是在python 3.2中添加的。对于使用python 2的用户,以及为使用python 2而编写的库(例如,所有主要库),均无法使用。

解决方法是使用@memoize装饰器库中的配方。

如果仅使用python 3,则基本上没有理由不使用lru_cache

  • 例如,如何获取存储在lru_cache中的所有键或所有值?这是我最近真正想要的。 (2认同)