pythoncache手打代码
时间: 2024-09-12 10:07:17 浏览: 11
在Python中,如果想要自己实现一个简单的缓存机制,可以使用字典来存储已经计算过的结果,以此避免重复计算。下面是一个简单的缓存装饰器的示例代码:
```python
def cache(func):
cache_dict = {} # 初始化一个字典用来存储缓存数据
def wrapper(*args):
if args in cache_dict: # 如果参数已经在缓存中,直接返回缓存结果
return cache_dict[args]
else:
result = func(*args) # 否则调用函数计算结果
cache_dict[args] = result # 将结果存入缓存
return result
return wrapper
# 使用cache装饰器的例子
@cache
def compute_power(x, n):
print(f"Computing {x} to the power {n}")
return x ** n
# 测试缓存效果
print(compute_power(2, 10)) # 第一次调用会打印"Computing ..."并计算结果
print(compute_power(2, 10)) # 第二次调用会直接返回缓存结果,不会打印"Computing ..."
```
这个简单的缓存实现了一个非常基础的功能,它适用于那些参数不会变化的情况。如果需要缓存更加复杂的情况,比如有多个参数,或者参数类型不同,或者需要考虑函数返回值的过期时间等问题,可能需要更复杂的缓存实现,例如使用`functools.lru_cache`。