Курс 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. Работа с CSV файлами
  5. Оптимизация интернирования строк
  6. Реверс строки и списка в Python.
  7. Метод init в Python
  8. 9 уловок для чистого кода
  9. Динамическая типизация в Python
  10. Проверка списка: any() и all()
  11. Поиск кода
  12. Проверка на палиндром
  13. Генераторы по генератору
  14. Преобразование текста в нижний регистр
  15. Основные функции и модули Python
  16. Преобразование регистра строк
  17. Функции-генераторы в Python
  18. Работа с *args и **kwargs в Python
  19. Использование type hints
  20. Срез в Python
  21. Проверка кортежей.
  22. Создание словарей в Python
  23. Создание словарей в Python
  24. Основы работы со строками в Python
  25. Многострочные комментарии в Python
  26. Метод rrshift для пользовательских объектов
  27. Оптимизация памяти в Python
  28. Утечки переменных цикла в Python 3.x
  29. Выключение компьютера с помощью Python
  30. Оптимизация памяти с помощью __slots__
  31. Строки в Python: апострофы и кавычки
  32. Декоратор total_ordering для класса Point
  33. Метод __irshift__ для побитового сдвига вправо
  34. Создание и операции с дробями
  35. Создание копии итератора
  36. Оператор деления для класса Rational
  37. Функции в одну строку
  38. Функция zip() в Python
  39. Удаление файлов с shutil.os.remove()
  40. Метод get для словаря
  41. Логирование с Loguru
  42. Docstring в Python
  43. Функции map, filter и reduce
  44. Удаление URL-адресов в Python
  45. Выборка чисел
  46. split() — разделение строки
  47. Поиск шаблона в начале строки
  48. Использование метода lower()
  49. Определение относительного пути

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