Урок 42. Lambda-функции. Функции высшего порядка

📁 Блок: Python Fundamentals / Функциональные приёмы⏱️ Время изучения: ~115 мин🎯 Сложность: Начальная - средняя
#lambda #map #filter #any #all #sorted #max #print #def #return #add #list #from #import #len #for #in #items #dict

⚡ Кратко: что важно

Функцию передают без скобок: square, а не square().

Lambda - короткая анонимная функция из одного выражения.

Функции высшего порядка принимают или возвращают другие функции.

map() преобразует элементы, filter() отбирает элементы, reduce() сводит коллекцию к одному значению.

any() возвращает True при хотя бы одном истинном элементе.

all() возвращает True, если все элементы истинны; для пустой коллекции это True.

sorted(), min() и max() принимают key-функцию для критерия сравнения.

Сложную lambda лучше заменить именованной функцией def.

Топ-3 ошибки: передать результат функции вместо ссылки; забыть list() вокруг map/filter; писать слишком сложную lambda вместо понятной функции.

О чём этот урок

Урок объясняет, что функции в Python являются объектами: их можно хранить, передавать и вызывать через ссылку. На этой основе разбираются lambda, функции высшего порядка, map/filter/reduce, any/all и параметр key.

Цели

  • передавать функции как аргументы
  • использовать lambda для коротких выражений
  • понимать map/filter/reduce
  • применять any/all
  • сортировать и искать элементы через key

Что повторить заранее

Разделы урока

Что дальше

Следующий урок будет добавлен после следующего запуска генерации.