В Python вы можете определять обычные функции с помощью ключевого слова def, а лямбда-функции — с помощью ключевого слова lambda. Вы можете использовать лямбда-функции везде, где требуются функциональные объекты.
Что такое лямбда-функция Python?
Лямбда-функция Python — это просто Другой метод определения функции с одним отличием состоит в том, что это обычно однострочная функция. Лямбда-функция может иметь ноль или больше аргументов, но имеет только одно выражение.
Лямбда-функция в Python также называется анонимной функцией, потому что она определена без имени.
Синтаксис
лямбда-аргументы: выражение
Возвращаемое значение лямбда-функции — это значение, которое вычисляется для этого выражения.
Пример
fun = lambda x: x * xprint (fun (3))
Вывод
9
Если вы проверите тип лямбда, то он вернет функцию класса. Чтобы проверить тип данных переменной, используйте функцию type ().
fun = lambda x: x * xprint (type (fun))
Вывод
Теперь вопрос на миллион долларов: можете ли вы написать многострочную лямбда-функцию на Python ? Давайте обсудим это.
Можете ли вы написать лямбда-выражение Python из нескольких строк ?
Нет, вы не можете писать многострочные лямбда-выражения в Python. Лямбда-функции могут иметь только одно выражение. Гвидо ван Россум (создатель Python) отвечает на этот точный вопрос в одном из своих сообщений в блоге. Поэтому он признает, что это теоретически возможно, но решение — не способ сделать это с помощью Pythonic.
Один логический ответ на этот вопрос состоит в том, что если вы хотите писать многострочные функции, вам следует использовать обычные функции на Python; почему вы выбираете многострочные лямбды.
Даже если вы все равно хотите это сделать, а затем, если вы напишете, это станет очень уродливым, поэтому решение состоит в том, чтобы сделать выражение в фигурных скобках.
лямбда: (chaosWalking ('tom'), prettyPlace (2), blackWidow ('SJ'))
Это буквально непифонический способ написания многострочных лямбда-функций в Python.
Лямбда-функция создается таким образом что вы можете удобно писать короткие решения. В общем, вам лучше использовать обычное определение функции, если оно превращается в нечто большее, чем одна строка простого кода.
Это все для учебника по многострочным лямбда-функциям Python.