Курс 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. Изменение элемента списка
  3. Создание директории в Python
  4. Декоратор @override
  5. Python defaultdict добавление ключа
  6. Оператор walrus в Python
  7. Инвертирование словаря
  8. Работа со строками в Python.
  9. Декоратор Ajax required
  10. Динамическая типизация в Python
  11. Работа с CSV в Python
  12. Сериализация данных в JSON с помощью json.dumps
  13. Метод get для словарей
  14. Работа с переменными в Python
  15. Профилирование с cProfile
  16. Извлечение аудио из видео
  17. Разделение строки с регулярными выражениями
  18. Оператор «not» в Python
  19. Функция all() в Python
  20. Цикл for с enumerate() в Python
  21. Измерение времени выполнения кода с использованием time
  22. Замена элементов в списке с помощью генераторов списков
  23. Различия символов в Python
  24. Открытие и запись файлов
  25. Разделение строки с помощью re.split()
  26. Объединение итераторов
  27. Работа со словарями Python
  28. Проверка типа данных
  29. Метод get для словаря
  30. Python groupby() из itertools: работа с повторяющимися элементами
  31. Метод __irshift__ для Python
  32. Операторы присваивания в Python
  33. Получение комбинаций в Python
  34. Основы Python
  35. Подсчет элементов в списке с Counter
  36. Изменение регистра данных
  37. Атрибуты массивов в Numpy
  38. Регулярные выражения: метод match
  39. Отношения подклассов в Python
  40. Генерация резюме в Gensim
  41. Преобразование списков в словарь
  42. Метод gt в Python
  43. Измерение времени выполнения кода
  44. Создание коллекций из выражения-генератора

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