Функциональное программирование на Python

Введение

Примеры

Лямбда-функция

Анонимная встроенная функция, определенная с помощью лямбды. Параметры лямбды определяются слева от толстой кишки. Тело функции определяется справа от двоеточия. Результат выполнения тела функции (неявно) возвращается.

 s=lambda x:x*x
s(2)    =>4 

Функция map

map принимает функцию и коллекцию предметов. Он создает новую пустую коллекцию, запускает функцию для каждого элемента в исходной коллекции и вставляет каждое возвращаемое значение в новую коллекцию. Возвращает новую коллекцию.

Это просто map, который берет список имен и возвращает список длин этих имен:

 name_lengths = map(len, ["Mary", "Isla", "Sam"])
print(name_lengths)    =>[4, 4, 3] 

Уменьшить функцию

Редукция принимает функцию и коллекцию предметов. Возвращает значение, которое создается путем объединения элементов.

Это простое сокращение. Возвращает сумму всех предметов в коллекции.

 total = reduce(lambda a, x: a + x, [0, 1, 2, 3, 4])
print(total)    =>10 

Функция фильтра

Фильтр принимает функцию и коллекцию. Он возвращает коллекцию каждого элемента, для которого функция вернула True.

 arr=[1,2,3,4,5,6]
[i for i in filter(lambda x:x>4,arr)]    # outputs[5,6] 

Синтаксис

Параметры

Примечания