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