Интерактивный курс

Python: Функциональное программирование

В курсе функциональное программирование вы научитесь создавать лямбда функции, изучите функции map и filter, как создавать генератор с декоратором и реализацию рекурсий в Python.

План занятий

Введение в функциональное программирование

Суть функционального программирования как следует из названия это что этот стиль программирования основан на функциях. Рассмотрим пару примеров:

Чистые функции

Залог функционального программирования - использование чистых функций, которые зависят исключительно от их аргументов.

Лямбда (Lambda) функции

Анонимные функции позволяют создавать на лету однострочные функции и ускорять написание программного кода.

Функции map и filter

В Python очень удобно реализованы функции высшего порядка. Например, можно применять функцию к каждому элементу списка или фильтровать списки встроенные функциями.

Генераторы

Если вы работает с очень длинными списками, то можно упереться в ограчинение в памяти, генераторы в Python позволяют это обойти.

Декораторы

Зачастую надо обернуть другую функцию для расширения ее функциональности без непосредственного изменения ее кода

Рекурсия

Одна из важнейших концепций функционального программирования в Python - рекурсии, обладающие свойствами самоподобия. Рассмотрим на примере функции факториала.

Множества (Sets)

Множества в Python представляют собой структуры данных, похожие на списки или словари. Рассммотрим как можно комбинировать их с помощью математических операций.

Структуры данных

Python поддерживает многообразие структур данных: от списков и словарей до кортежей и множеств. Рассмотрим подробнее когда использовать какую структуру данных.

Модуль itertools

В стандартной библиотеке Python есть набор модулей позволяющие упростить работу использование функций высоких порядков для работы с итераторами.