python @memoize vs functools.lru_cache

时间:2017-09-03 10:36:27

标签: python

我不确定这两种优点和缺点是什么。如果functools中的@lru_cache是一个标准的图书馆工具,似乎可以更好地控制@memoize,为什么@memoize甚至存在?

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

1 个答案:

答案 0 :(得分:5)

在python 3.2中添加了

functools.lru_cache。对于那些使用python 2的人,以及为了使用它而编写的库(例如所有主要的库),它都无法使用。

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

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