@functools.lru_cache
не делает никаких магов c. Это декоратор функции, то есть он принимает аннотированную функцию (здесь: memoized_f
) в качестве входных данных и определяет новую функцию. По сути, это memoized_f = lru_cache(memoized_f, maxsize=2, ...)
(см. здесь )
Таким образом, ваш вопрос сводится к тому, имеет ли (функция в) модуль, импортированный двумя другими модулями, разделяет состояние, на что ответ да, есть общий кеш. Это потому, что каждый модуль импортируется только один раз.
См., Например, официальную документацию