import functools
# 使用 functools.lru_cache 实现缓存功能
@functools.lru_cache(maxsize=128)
def get_data(x):
# 模拟一个耗时的计算或数据获取过程
print(f"Calculating for {x}...")
return x * x
# 示例调用
print(get_data(5)) # 第一次调用,会进行实际计算并打印 "Calculating for 5..."
print(get_data(5)) # 第二次调用,直接从缓存中获取结果,不会再次打印 "Calculating for 5..."
# 解释说明:
# functools.lru_cache 是 Python 内置的一个装饰器,用于实现Least Recently Used (LRU) 缓存。
# 它可以缓存函数的返回值,当相同的参数再次传入时,直接从缓存中获取结果,避免重复计算。
# 参数 maxsize 表示缓存的最大条目数。如果超过这个数量,最久未使用的缓存项将被移除。
上一篇:python 字典 get
下一篇:用python画玫瑰花
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站