Функциональное программирование на Python, Мерц Д., Клаймен Л., 2026.
Перед вами практическое руководство, посвященное функциональному программированию на Python — подходу, который помогает писать более предсказуемый, модульный и устойчивый к ошибкам код. Книга шаг за шагом знакомит читателя с основными концепциями функционального стиля, от базовых принципов и встроенных средств языка до продвинутых приемов, применяемых в современных проектах.
Вы узнаете, как использовать функции высшего порядка, замыкания, декораторы и ленивые вычисления для построения гибких программных решений. Подробно рассматриваются механизмы итераторов и генераторов, принципы композиции функций, организация пайплайнов обработки данных и применение асинхронного функционального программирования. Особое внимание уделено темам мемоизации, конкурентности и интеграции с популярными инструментами, такими как itertools, functools, operator, asyncio и Pydantic.
Издание предназначено для разработчиков, стремящихся выйти за рамки традиционного объектно-ориентированного подхода и освоить функциональную парадигму, чтобы писать более элегантный, надежный и современный Python-код.

Протокол итератора (iterator protocol).
Самый простой способ создать итератор, то есть ленивую последовательность (lazy sequence), в Python заключается в определении функции-генератора, как обсуждалось в главе «Вызываемые объекты (Callables)». Просто используйте оператор yield внутри тела функции, чтобы определить места (обычно в цикле), где производятся значения.
Или, технически, самый простой способ — использовать один из множества итерируемых объектов, уже предоставляемых встроенными средствами или стандартной библиотекой, вместо написания своего собственного. Функции-генераторы — это синтаксический сахар (syntactic sugar) для определения функции, которая возвращает итератор.
ОГЛАВЛЕНИЕ.
Предисловие.
Что такое функциональное программирование (functional programming, FP)?.
За пределами стандартной библиотеки (standard library).
Стилевое примечание.
(Избегая) управление потоком выполнения (Flow Control).
Инкапсуляция (Encapsulation).
Вложения (comprehensions).
Рекурсия (Recursion).
Вызываемые объекты (Callables).
Именованные функции и лямбды.
Замыкания и вызываемые экземпляры.
Методы классов (Methods of Classes).
Множественная диспетчеризация.
Ленивые вычисления (lazy evaluation).
Протокол итератора (iterator protocol).
Модуль itertools.
Функции высшего порядка (Higher-Order Functions).
Утилитарные функции высшего порядка (Utility Higher-Order Functions).
Модуль operator (The operator Module).
Модуль functools (The functools Module).
Декораторы (Decorators).
Композиция функций и пайнлайны.
Основы композиции функций.
Функциональная реализация pipe-onepaтopa.
Продвинутые техники композиции.
Обработка ошибок в пайплайнах.
Асинхронные пайплайны.
Асинхронное функциональное программирование.
Теоретические основы асинхронного функционального программирования.
Основы async/await в функциональном стиле.
Параллельная обработка и конкурентность.
Композиция асинхронных функций.
Обработка потоков данных с asyncio.
Обработка ошибок в асинхронном контексте.
Мемоизация и кеширование.
Основы мемоизации и ее преимущества.
Создание собственных кеширующих декораторов.
Кеширование с учетом типов данных.
Оптимизация рекурсивных алгоритмов через мемоизацию.
Параллельное программирование в функциональном стиле.
Основы функционального параллельного программирования.
Модуль concurrent.futures и функциональные паттерны.
Map-Reduce операции в функциональном стиле.
Валидация данных функциональными методами.
Основы функциональной валидации.
Композиция валидаторов.
Цепочки проверок и монадическая композиция.
Интеграция с Pydantic в функциональном стиле.
Функциональное тестирование.
Основы функционального тестирования.
Property-based тестирование с Hypothesis.
Генерация тестовых данных функциональными методами.
Заключение.
Купить .
Теги: учебник по программированию :: программирование :: Мерц :: Клаймен :: мемоизация :: паттерн :: Python :: пайплайн









