Курс 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. Область видимости переменных
  2. Создание объекта timedelta
  3. Выбор редактора кода.
  4. Декоратор проверки активности
  5. Метод rename() для переименования файлов и каталогов
  6. Функция reversed() в Python
  7. Переворот строки с использованием цикла
  8. Декораторы в Python
  9. Список и кортеж в Python
  10. Установка переменной среды в Python
  11. Python reversed() vs срез[::-1]
  12. Обработка исключений в Python
  13. Преобразование Word в PDF с Spire.Doc
  14. Тестирование времени с Freezegun
  15. capitalize() — изменение регистра первого символа строки
  16. Удаление дубликатов из списка с помощью dict.fromkeys
  17. Python reversed() функция
  18. Подписка на SelectelNews в Twitter
  19. Декоратор защиты анонимных пользователей
  20. Подписка на @SelectelNews
  21. Установка Python3.7 и PIP
  22. Удаление элемента по индексу в Python
  23. Просмотр файла в Jupyter Noteboo
  24. Работа со слайсами
  25. Принципы программирования
  26. Отображение графиков в Jupyter с Matplotlib
  27. Группировка элементов Python
  28. Аннотации типов в Python
  29. Таймер обратного отсчета
  30. Генератор бросков кубиков
  31. Списковый компрехеншен.
  32. Непрерывная проверка в Python
  33. Работа с словарями в Python
  34. Создание графики с черепахой
  35. Форматирование строк в Python
  36. Метод округления чисел
  37. Строковое представление объектов
  38. Генераторы в Python
  39. Применение функции к каждому элементу списка
  40. Python: отличительная особенность — отступы
  41. Разделение строк методом split()
  42. Объединение списков в Python
  43. Работа с часовыми поясами в Python
  44. Сортировка HTML по CSS-селектору
  45. GitHub в Telegram: подписка на уведомления
  46. Преобразование данных в Python
  47. Работа с JSON данными в Python

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