Курс 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. Преобразование строк в числа в Python
  3. Создание пользовательской коллекции в Python
  4. Разделение списка на гнппы
  5. Группы исключений в Python
  6. Удаление файлов в Python
  7. Модуль Antigravity в Python 3
  8. Обработка ошибок в JSON данных
  9. Python itertools combinations() — группировка элементов
  10. Функция zip() в Python
  11. Сравнение объектов в Python
  12. Подсчет элементов в Python
  13. Цикл for в Python
  14. Измерение времени выполнения в Python
  15. Оператор «is not» в Python
  16. Цикл for в Python
  17. Библиотека sh: использование команд bash в Python
  18. Таймер обратного отсчета
  19. Работа со слайсами
  20. Определение индекса элемента списка
  21. Транспонирование 2D-массива с помощью zip
  22. Разработка игры Pong с turtle
  23. Автоматизация действий с Pyautogui
  24. Работа с базами данных SQLite
  25. Retrying в Python: повторные вызовы
  26. Проверка ввода с помощью isdigit
  27. Работа с коллекциями Python
  28. Создание новой даты в Python
  29. Работа с NumPy.linalg
  30. Настройка шрифта и цвета в Tkinter
  31. Деление в Python
  32. Синтаксис переменных цикла в Python
  33. Многострочные комментарии в Python
  34. Работа с комплексными числами в Python
  35. Разделение строки с помощью re.split()
  36. Удаление специальных символов с помощью re.sub
  37. Работа со строками в Python
  38. Наиболее частотные элементы с помощью Counter
  39. Определение имен функций
  40. Проверка списка: any() и all()
  41. Функции map() и reduce() в Python
  42. Использование обратной косой черты в f-строках
  43. Срезы в Python
  44. Получение локальных переменных в Python
  45. Переворот строки с помощью срезов
  46. Основы Python за 14 дней
  47. Работа с буфером обмена на Python

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