用斐波那契数列做例子
maxsize参数表示是的被装饰的方法最大可缓存结果数量
如果是默认值128则表示被装饰方法最多可缓存128个返回结果
如果maxsize传入为None则表示可以缓存无限个结果
from functools import lru_cache
@lru_cache(maxsize=128)
def feb(n):
if n < 2:
return n
return fib(n - 1) + fib(n - 2)
print(feb(80))
使用这个装饰器能将每一步的计算结果缓存下来,能够大大提升计算效率,兔子级数的数值写到80也能秒出结果i
726

被折叠的 条评论
为什么被折叠?



