0%

python装饰器

定义

可以简单理解成修改其他函数的功能的函数。

@Cache装饰器

为了提高函数的执行效率并减少重复计算,用缓存来存储已经计算过的结果。

位于Python标准库functools模块中。

1
2
3
4
5
6
7
8
from functools import cache 

@cache
def fibonacci_width_cache(n):
if n <= 1:
return n
else:
return fibonacci_with_cache(n-1) + fibonacchi_with_cache(n-2)

使用装饰器通过缓存避免重复计算。

❗注意:

@cache装饰器会将函数的参数作为缓存的键,因此在使用缓存时需要保证函数的参数是可哈希的

Reference

[1] harvey的网络日志

[2] Python函数装饰器