如何缓存具有位置和关键字参数的函数?

时间:2021-01-09 12:54:35

标签: python dictionary caching

我有一个函数 foo(a, b, c= False, d = 0),我需要在函数内部为每个参数组合创建一个缓存字典。

我在网上看到的例子只使用了 *args,但我也需要以正确的顺序获取 kwargs 值,并将它们存储在缓存字典中,并处理以下情况dicts 不能是键,而 kwargs 是一个 dict。

所以我是这样做的:这是要走的路吗?

foo(*args, **kwargs):
     if (*args, *kwargs.values()) in cache:
         return cache[(*args, *kwargs.values())]

基本上我将 kwargs 转换为值(按照插入顺序,因为我使用的是 Python3.6,这将是我想要的),然后与 *args 结合创建一个元组。

0 个答案:

没有答案
相关问题