Sobes.tech
Back to questions
Junior — Middle
81

Можешь перечислить и описать основные концепции функционального программирования, реализованные в Python?

Companies where asked
ОстровокОстровок

Answer from AI

sobes.tech AI

В Python реализованы основные концепции функционального программирования:

  • Функции как объекты первого класса — функции можно передавать как аргументы, возвращать из других функций и присваивать переменным.

  • Чистые функции — функции без побочных эффектов, которые зависят только от входных параметров.

  • Высшие функции (Higher-order functions) — функции, которые принимают другие функции в качестве аргументов или возвращают их. Например, map(), filter(), reduce().

  • Лямбда-функции — анонимные функции, которые удобно использовать для кратких операций.

  • Имутабельность — хотя Python не строго иммутабелен, рекомендуется использовать неизменяемые структуры данных для функционального стиля.

  • Рекурсия — использование функций, вызывающих сами себя, вместо циклов.

Пример использования map и filter:

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
even = list(filter(lambda x: x % 2 == 0, numbers))
print(squared)  # [1, 4, 9, 16, 25]
print(even)     # [2, 4]

Таким образом, Python поддерживает функциональный стиль программирования, позволяя писать более декларативный и лаконичный код.