Автор оригинала: Doug Hellmann.
Python включает в себя несколько модулей для реализации алгоритмов элегантно и кратко используя любой стиль, наиболее подходящий для задачи. Он поддерживает чисто процедурную, ориентированную на объективные и функциональные стили, и все три стиля часто смешиваются в разных частях одной и той же программы.
Functools включает в себя функции для создания функциональных декоративов, что позволяет использовать аспект ориентированное программирование и повторное использование кода за пределами того, что поддерживает традиционный объектно-ориентированный подход. Он также предоставляет классному декоратору для реализации всех богатых API для сравнения с использованием короткого разреза и частичных
объектов для создания ссылок на функции с их аргументами.
Модуль ITERTOOLS включает в себя функции для создания и работы с итераторами и генераторами, используемыми в функциональном программировании. Модуль оператора устраняет необходимость многих тривиальных функций лямбда при использовании стиля функционального программирования, предоставляя функциональные интерфейсы в встроенные операции, такие как арифметический или предмет.
И независимо от того, какой стиль используется в программе, ContextLib делает управление ресурсами проще, более надежным и более лаконичным. Объединяя контекстные менеджеры и оператор с помощью оператора
уменьшают количество TRY:, наконец,
блоки и уровни отступа, необходимые при обеспечении того, чтобы файлы, розетки, транзакции базы данных и другие ресурсы закрыты и выпущен в нужное время.
- Functools – Инструменты для манипулирующих функций
- Itertools – итераторные функции
- Оператор – функциональный интерфейс для встроенных операторов
- ContextLib – Утилиты менеджера контекста