Функциональное программирование в Python работает следующим образом: программа строится из функций как из блоков. 2 Описываются не чёткие команды, а правила взаимодействия этих блоков. 2
Вычисления начинаются с вызова некоторой функции. 1 Она, в свою очередь, тоже вызывает функции, которые входят в её определение в соответствии с внутренней иерархией (часто вызовы происходят рекурсивно). 1
Каждый вызов возвращает значение, но помещается оно не в переменную, а в саму функцию, которая этот вызов совершила. 1 После этого функция продолжает работу. 1 Такой процесс продолжается до того момента, как та самая функция, с которой начались вычисления, не вернёт пользователю конечный результат. 1
В Python для поддержки функционального программирования используются, например, лямбда-функции, функции map(), filter() и reduce(). 3
Функция map() применяет заданную функцию к каждому элементу итеративной таблицы и возвращает новую итеративную таблицу с результатами. 3
Функция filter() применяет заданную функцию к каждому элементу итерабельной таблицы и возвращает новую итерабельную таблицу с элементами, для которых функция возвращает значение True. 3
Функция reduce() применяет заданную функцию к элементам итеративной таблицы кумулятивным способом, сокращая итеративную таблицу до одного значения. 3