Материалы шестой лекции.
Комментарии
-
Решить проблему с тем, что декоратор теряет docstring и имя функции, к которой он применяется, как ни странно, можно при помощи декоратора
import functools def caching(function): computed_results = {} @functools.wraps(function) def new_function(*args): if args not in computed_results: computed_results[args] = function(*args) return computed_results[args] return new_function