中等
技术面试0 次浏览

在 Python 中,如何实现一个简单的缓存装饰器

后端工程师
Python缓存装饰器

答题要点

在 Python 中,可以使用字典来实现一个简单的缓存装饰器。以下是实现步骤:首先,定义一个装饰器函数,该函数接受一个被装饰的函数作为参数。在装饰器函数内部,创建一个空字典用于存储缓存数据。然后,定义一个内部函数,该函数接受与被装饰函数相同的参数。在内部函数中,首先检查传入的参数是否已经在缓存字典中,如果存在,则直接返回缓存中的结果;如果不存在,则调用被装饰的函数,将参数传入并执行,得到结果后将结果存入缓存字典,最后返回该结果。以下是示例代码: python def cache_decorator(func): cache = {} def wrapper(*args): if args in cache: return cache[args] result = func(*args) cache[args] = result return result return wrapper @cache_decorator def add(a, b): return a + b 在上述代码中,`cache_decorator` 就是一个简单的缓存装饰器,通过使用该装饰器可以避免重复计算,提高函数的执行效率。