在被装饰的函数中如果变量存在于字典key中,则取出缓存的value,否则将变量和值添加至字典。
示例代码如下
tst.py
my_dic = {"a": "a_data", "b": "b_data"}
def cache(func):
def wrapper(**kwargs):
func(**kwargs)
for key, values in kwargs.items():
if key not in my_dic:
my_dic[key] = values
return wrapper
@cache
def get_cache(**kwargs):
print(kwargs)
get_cache(a="a_data")
get_cache(d="d_data")
print(my_dic)