我不确定这两种优点和缺点是什么。如果functools中的@lru_cache
是一个标准的图书馆工具,似乎可以更好地控制@memoize
,为什么@memoize
甚至存在?
编辑:我指的是从这里开始的memoize - > https://wiki.python.org/moin/PythonDecoratorLibrary#Memoize
答案 0 :(得分:5)
functools.lru_cache
。对于那些使用python 2的人,以及为了使用它而编写的库(例如所有主要的库),它都无法使用。
解决方法是使用装饰器库中的@memoize
配方。
如果你只使用python 3,基本上没有理由不使用lru_cache
。