Курс Python → Функциональное программирование.

Функциональное программирование — это парадигма программирования, основанная на использовании функций как основных элементов программы. Она позволяет писать более краткий и читаемый код, что делает его более поддерживаемым и расширяемым. Один из ключевых инструментов функционального программирования — это функции высшего порядка.

Функции высшего порядка — это функции, которые могут принимать другие функции в качестве аргументов или возвращать их как результат. Они позволяют абстрагировать общие шаблоны кода, делая его более универсальным. Примером функции высшего порядка является функция map, которая применяет заданную функцию ко всем элементам итерируемого объекта.


# Пример использования функции map
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # Вывод: [1, 4, 9, 16, 25]

Еще одним инструментом функционального программирования является анонимные функции, или лямбда-функции. Они позволяют создавать функции «на лету», без необходимости определения их имени. Лямбда-функции обычно используются вместе с функциями высшего порядка, такими как map или filter.


# Пример использования лямбда-функции вместе с функцией filter
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # Вывод: [2, 4]

Кроме того, функциональное программирование предлагает инструменты для работы с последовательностями данных, такие как reduce. Функция reduce применяет указанную функцию кумулятивно к элементам последовательности, сокращая ее до одного значения. Это позволяет упростить обработку данных и выполнение сложных операций.


from functools import reduce
numbers = [1, 2, 3, 4, 5]
sum_of_numbers = reduce(lambda x, y: x + y, numbers)
print(sum_of_numbers)  # Вывод: 15

Использование функционального программирования в Python может значительно улучшить структуру и читаемость вашего кода. Знание функций высшего порядка, анонимных функций, map, filter, reduce и других инструментов функционального программирования позволит вам писать более компактный, элегантный и эффективный код.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Структура строк в Python
  2. Оператор match в Python
  3. Создание .exe файла с pyinstaller
  4. Работа с YAML в Python
  5. Возврат нескольких значений из функции
  6. Python: отсутствие точек с запятыми
  7. lru_cache оптимизация функций
  8. Декоратор защиты анонимных пользователей
  9. Проверка подстроки в строке
  10. Синтаксис переменных цикла в Python
  11. Поиск уникальных элементов строкой в Python
  12. Howdoi — получение ответов из терминала
  13. Проверка типа объекта в Python
  14. Progress с библиотекой tqdm
  15. Работа с IP-адресами в Python
  16. Отслеживание выполнения программы с библиотекой tqdm
  17. Логирование с Logzero
  18. Enum в Python
  19. Модуль Operator в Python
  20. Функции any() и all() в Python
  21. Создание новых функций с помощью functools.partial
  22. Работа с очередями в Python
  23. Декоратор для группы пользователей в Django
  24. Изменения в обработке логических значений
  25. Красивый вывод списка
  26. Работа с Requests для HTTP-запросов
  27. Переименование файлов в Python
  28. Оператор is в Python
  29. Комплексные числа в Python
  30. Функция count() в Python
  31. Группы исключений в Python
  32. Работа с рекламными данными в Pandas
  33. Подсказки при вводе данных в Python
  34. Изменение списка срезами
  35. Оператор @ для умножения матриц
  36. Работа с модулем Calendar
  37. Кортеж в Python: создание, доступ, изменение
  38. GitHub в Telegram: подписка на уведомления
  39. Получение пути к текущему скрипту с помощью os
  40. Форматирование строк с % в Python
  41. Python enumerate() функции
  42. Декораторы с аргументами в Python
  43. Создание коллекций из генератора
  44. Функция product() в Python
  45. Метод __int__ в Python

Marketello читают маркетологи из крутых компаний