Проблема связана с lru_cache: когда я пытаюсь передать тот же аргумент той же кэшированной функции, но другим способом, lru_cache не сможет использовать кеш. Я хотел бы знать, есть ли лучшая реализация, решающая эту проблему.
from functools import lru_cache
@lru_cache(maxsize=32)
def fn(x,y):
print('no cache')
return 1
fn(1,1)
>>>>no cache
fn(x=1,1)
>>>>no cache
fn(x=1,y=1)
>>>>no cache
Подробнее здесь: https://stackoverflow.com/questions/573 ... erent-ways