Мерц Дэвид - Функциональное программирование на Python (2026)

GuDron

dumpz.ws
Admin
Регистрация
28 Янв 2020
Сообщения
10,743
Реакции
1,635
Credits
40,603
Функциональное программирование на Python
12121.jpg
Год издания: 2026
Автор: Мерц Дэвид
Язык: Русский
Формат: PDF
Количество страниц: 130
Предисловие .................................................................................................................... 5
Что такое функциональное программирование (functional programming, FP)? ........................ 5
За пределами стандартной библиотеки (standard library) ..................................................... 6
Стилевое примечание ....................................................................................................... 7
(Избегая) управление потоком выполнения (Flow Control) ................................................... 8
Инкапсуляция (Encapsulation) ........................................................................................... 8
Вложения (comprehensions) .............................................................................................. 9
Рекурсия (Recursion) ....................................................................................................... 11
Вызываемые объекты (Callables) ...................................................................................... 17
Именованные функции и лямбды ..................................................................................... 18
Замыкания и вызываемые экземпляры ............................................................................. 19
Методы классов (Methods of Classes) ................................................................................ 21
Множественная диспетчеризация ..................................................................................... 24
Ленивые вычисления (lazy evaluation) .............................................................................. 28
Протокол итератора (iterator protocol) .............................................................................. 29
Модуль itertools .............................................................................................................. 31
Функции высшего порядка (Higher-Order Functions) ........................................................... 34
Утилитарные функции высшего порядка (Utility Higher-Order Functions) .............................. 35
Модуль operator (The operator Module) ............................................................................. 36
Модуль functools (The functools Module) ............................................................................ 37
Декораторы (Decorators) ................................................................................................. 37
Композиция функций и пайплайны .................................................................................. 39
Основы композиции функций .......................................................................................... 39
Функциональная реализация рiре-оператора .................................................................... 41
Продвинутые техники композиции ................................................................................... 43
Обработка ошибок в пайплайнах ..................................................................................... 49
Асинхронные пайплайны ................................................................................................. 52
Асинхронное функциональное программирование ............................................................. 55
Теоретические основы асинхронного функционального программирования ......................... 55
Основы async/await в функциональном стиле .................................................................... 56
Параллельная обработка и конкурентность ....................................................................... 58
Композиция асинхронных функций ................................................................................... 61
Обработка потоков данных с asyncio ................................................................................ 65
Обработка ошибок в асинхронном контексте ..................................................................... 71
Мемоизация и кеширование ............................................................................................. 75
Основы мемоизации и ее преимущества ............................................................................ 75
Создание собственных кеширующих декораторов .............................................................. 81
Кеширование с учетом типов данных ................................................................................ 85
Оптимизация рекурсивных алгоритмов через мемоизацию .................................................. 87
Параллельное программирование в функциональном стиле ................................................ 91
Основы функционального параллельного программирования .............................................. 91
Модуль concurrent.futures и функциональные паттерны ...................................................... 93
Map-Reduce операции в функциональном стиле ................................................................. 96
Валидация данных функциональными методами ................................................................ 102
Основы функциональной валидации ................................................................................. 102
Композиция валидаторов ................................................................................................. 105
Цепочки проверок и монадическая композиция ................................................................. 108
Интеграция с Pydantic в функциональном стиле ................................................................. 112
Функциональное тестирование ....................................................................................... 116
Основы функционального тестирования ............................................................................ 116
Property-based тестирование с Hypothesis ......................................................................... 118
Генерация тестовых данных функциональными методами .................................................. 121
Заключение .................................................................................................................... 126
Описание:
Перед вами практическое руководство, посвященное функциональному программированию на Python - подходу, который помогает писать более предсказуемый модульный и устойчивый к ошибкам код. Книга шаг за шагом знакомит читателя с основными концепциями функционального стиля, от базовых принципов и встроенных средств языка до продвинутых приемов, применяемых в современных проектах.
Вы узнаете, как использовать функции высшего порядка, замыкания, декораторы и ленивые вычисления для построения гибких программных решений. Подробно рассматриваются механизмы итераторов и генераторов, принципы композиции функций, организация пайплайнов обработки данных и применение асинхронного функционального программирования. Особое внимание уделено темам мемоизации, конкурентности и интеграции с популярными инструментами такими как itertools, functools, operator, asyncio и Pydantic.
В книге подробно рассказывается, как сочетать лаконичность и выразительность функционального стиля с возможностями Python, избегая излишней императивности и улучшая читаемость кода. Приведенные примеры и практические рекомендации помогут не только глубже понять теорию функционального программирования
но и сразу применить ее на практике - при проектировании оптимизации и тестировании приложений.
Издание предназначено для разработчиков, стремящихся выйти за рамки традиционного объектно-ориентированного подхода и освоить функциональную парадигму, чтобы писать более элегантный, надежный и современный Руthоn-код.
Скрытое содержимое могут видеть только пользователи групп(ы): Premium, Местный, Свои