我有一个函数,它调用另一个方法并返回 3 个值,我必须将其存储在字典中,当调用相同的函数时,我必须检查字典中是否已存储相同的值,如果我必须返回它,否则加载新的值集。
IDS = {}
def get_ids(id):
if id in IDS:
return IDS[id], IDS[name], IDS[salary]
else:
id, name, salary = load_ids(id)
IDS['id'] = id
IDS['name'] = name
IDS['salary'] = salary
return id, name, salary
这里我要替换第一个存储的 id,但是我必须用新的 id 添加新的值,load_ids 做一些计算并返回一些值
请您参考如下方法:
您可以使用 functools.lru_cache 免费获得它:
from functools import lru_cache
@lru_cache(maxsize=512)
def get_ids(id, name, salary):
id, name, salary = load_ids(id, name, salary)
return id, name, salary
