python的缓存装饰器lru_cache的作用

import functools
@functools.lru_cache(None)
def add(x, y):
    print(x, '+', y, '=', end='')
    return x+y

print(add(1,2))
print(add(2,3))
print(add(1,2))
print(add(4,6))
print(add(1,2))
print(add(4,6))

输出:

1 + 2 =3
2 + 3 =5
3
4 + 6 =10
3
10

可以看到,反复调用相同参数的函数,是不会再次执行,而是直接返回函数之前的执行结果,大大优化了算法执行时间。

你可能感兴趣的:(python,python)