什么是装饰器,使用装饰器缓存函数结果
目录
下面是一个简单的例子,使用装饰器缓存函数结果:
python
from functools import lru_cache
@lru_cache()
def expensive_function(arg):
# Do some expensive computation
return result
result = expensive_function(arg)
这里使用了 Python 内置库 functools 中的 lru_cache 装饰器, 它可以将函数的结果缓存在本地, 当再次调用相同参数的函数时, 就可以直接返回缓存结果而不用再次计算。 这样就可以减少函数的计算次数, 提高程序的效率。
lru_cache 还有一些可选的参数,例如:
maxsize:缓存的最大长度,超过这个长度会将最近最少使用的元素删除 typed:是否区分参数类型,默认为False 可以根据需要调整参数来达到最优的性能。
缓存函数结果是一种常用的优化手段, 可以用来优化重复计算, 查询或者连接的消耗。