functools — стандартный модуль Python с инструментами для функций: wraps для декораторов, partial для частичного связывания аргументов, cache/lru_cache для кеширования и singledispatch для диспетчеризации.
Зачем нужен модуль `functools`?
functools — стандартный модуль Python с инструментами для функций: wraps для декораторов, partial для частичного связывания аргументов, cache/lru_cache для кеширования и singledispatch для диспетчеризации.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
functools — стандартный модуль Python с инструментами для функций: wraps для декораторов, partial для частичного связывания аргументов, cache/lru_cache для кеширования и singledispatch для диспетчеризации.
Например, partial(int, base=16) создаёт функцию преобразования шестнадцатеричных строк, а wraps сохраняет метаданные обёрнутой функции. lru_cache ограничивает количество записей, но не реализует TTL. Кеширование подходит не каждой функции: учитывайте изменяемые аргументы, побочные эффекты и удержание результатов в памяти.