Курс 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. Конкатенация строк с методом join()
  2. Работа со стеком в Python
  3. Поиск кода
  4. Цикл for в Python
  5. Создание даты из строки ISO
  6. Генераторы в Python
  7. Профилирование данных с Pandas
  8. Удаление элемента по индексу
  9. Работа с YAML в Python: PyYAML.
  10. Присоединение элементов коллекции
  11. Распаковка аргументов в Python
  12. Объединение строк с помощью метода join
  13. Получение частей дроби
  14. Повторение и перенос строки
  15. Метод __imod__ для Python
  16. Оператор * в Python
  17. Работа с датами в Python
  18. Модуль array: создание и использование массивов
  19. Абстракции словарей и множеств в Python
  20. Слияние словарей в Python 3.9
  21. Создание множества в Python
  22. Декораторы в Python
  23. Модуль xkcd: добавление юмора в Python
  24. Замеры производительности в Python
  25. Работа с библиотекой requests
  26. Управление виртуальными окружениями в Python
  27. Поиск индексов подстроки
  28. Метод ior для битовых операций
  29. Метод pos в Python
  30. Логирование в Python
  31. Удаление символа из строки
  32. Оптимизация памяти с __slots__
  33. Подсчет частотности элементов в Python
  34. PUT запрос для обновления данных
  35. Преобразование списка в словарь через генератор
  36. Работа с коллекциями Python
  37. Преобразование range в итератор
  38. Упрощение условных выражений с тернарным оператором
  39. Поиск файлов по шаблону
  40. Комплексные числа в Python
  41. Управление ресурсами в Python
  42. Методы __repr__ и __str__ в Python
  43. Работа с CSV файлами
  44. Глобальные переменные в Python

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