lambda создаёт функцию из одного выражения с неявным возвратом, а def допускает полноценное тело с инструкциями и docstring. По базовой семантике вызова это обычные функции.
Чем лямбда-функция отличается от обычной функции в Python?
lambda создаёт функцию из одного выражения с неявным возвратом, а def допускает полноценное тело с инструкциями и docstring. По базовой семантике вызова это обычные функции.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
lambda создаёт функцию из одного выражения с неявным возвратом, а def допускает полноценное тело с инструкциями и docstring. По базовой семантике вызова это обычные функции.
Обе поддерживают параметры и замыкания; lambda не получает особой скорости или отдельной модели областей видимости. Для короткого key в sorted lambda может быть удобна. Для сложной логики, обработки исключений и понятных traceback лучше именованная функция через def.