functools

functools - Функции высшего порядка и операции с вызываемыми объектами.

Модуль functools предназначен для функций высшего порядка: функций, которые действуют или возвращают другие функции. В общем, любой вызываемый объект можно рассматривать как функцию для целей этого модуля.

Модуль functools определяет следующие функции:

  • @functools.cache() - кеширует функции

  • @functools.cached_property() - преобразует метод класса в кешированное свойство

  • functools.cmp_to_key() - преобразует функцию сравнения старого стиля в ключевую функцию

  • @functools.lru_cache() - декоратор для обертывания функции мемоизирущим объектом

  • @functools.total_ordering - дополняет методы упорядочивания (больше, меньше, равно и т.п.)

  • functools.partial() - возвращает объект partial, похожий на функцию с доп. аргументами.

  • class functools.partialmethod() - то же, что и partial, но для методов классов

  • functools.reduce()

  • @functools.singledispatch

  • class functools.singledispatchmethod()

  • functools.update_wrapper() - обновляет обернутую функцию до оборачиваемой

  • @functools.wraps() - удобная функция вызова update_wrapper(), декоратор

Объекты partial

  • partial.func

  • partial.args

  • partial.keywords

Last updated