Курс 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. Генераторы в Python
  3. Работа с байтовыми строками в Python
  4. Аннотации типов в Python
  5. Взаимодействие с внешними процессами в Python
  6. Сортировка и обратный порядок
  7. Нан-рефлексивность в Python
  8. Обратное распространение ошибки
  9. Работа со строками в Python
  10. Преобразование строк в числа в Python
  11. Оператор объединения словарей
  12. Вычисление натуральных логарифмов в NumPy
  13. Разбиение текста в Python
  14. Метод rsub для пользовательских чисел
  15. Игра «Угадывание чисел»
  16. Работа с collections.Counter
  17. Печать в одной строке
  18. Работа с комплексными числами
  19. Присвоение и ссылки
  20. Методы split() и join() — Python строк.
  21. Создание треугольника Паскаля
  22. Проверка условий: all и any
  23. Декоратор Ajax required
  24. Запуск внешнего кода в Jupyter
  25. Метод join() с набором
  26. Поиск с помощью регулярных выражений
  27. Создание пар из последовательностей
  28. Проверка надежности пароля на Python
  29. Генератор чисел Фибоначчи
  30. Метод __iand__ для пользовательских классов
  31. Расчет времени выполнения
  32. Обработка исключений в Python
  33. Работа с WindowsPath()
  34. Комментарии в Python.
  35. Создание функций с произвольным количеством аргументов
  36. Использование модуля __future__
  37. Передача словаря через **kwargs
  38. Функция zip() — объединение последовательностей
  39. Математические функции в Python
  40. Принципы Zen Python
  41. Логирование в Python
  42. Модуль math: константы π и e
  43. Создание матрицы в Python
  44. Типы возвращаемых значений в Python
  45. Вложенные генераторы в Python
  46. Переопределение унарных операторов
  47. Логирование с Logzero
  48. Многострочные строки в Python

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