Можешь перечислить и описать основные концепции функционального программирования, реализованные в Python?
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 поддерживает функциональный стиль программирования, позволяя писать более декларативный и лаконичный код.