|
|||
Lambda функции. Создание lambda функции. Вызов lambda функцийСтр 1 из 3Следующая ⇒ Lambda функции Создание lambda функции Представьте, что вам нужно написать функцию, которая принимает на вход число и удваивает его. Если вы уже знаете, как создавать функции в Python, используя ключевое слово def, вы, скорее всего, напишете что-то такое: def doubler(x): На самом деле есть еще один способ создавать такие маленькие функции в Python – использовать ключевое слово lambda. Следующая функция полностью эквивалентна созданной в коде выше: lambda x: 2 * x Эта функция не имеет имени и поэтому называется анонимной. Так как в Python анонимные функции объявляются ключевым словом lambda, их также часто называют lambda функции. Давайте обратим внимание на синтаксис таких функций в общем виде: lambda arguments: expression Lambda функция принимает на вход любое количество аргументов, разделенных запятыми, но должна состоять из единственного выражения. Это выражение выполняется, и его результат возвращается. Обратите внимание, что ключевое слово return не нужно. К примеру, следующая анонимная функция вычисляет остаток от деления суммы двух чисел на два: lambda x, y: (x + y) % 2 Если вы хотите добавить условие в анонимную функцию, вам нужно использовать тернарный оператор первая_альтернатива if условие else вторая_альтернатива: # Yes # No Обычные условные выражения не будут работать в анонимной функции. Вызов lambda функций Хорошо, но как же вызвать такую функцию, если нее нет имени? Синтаксис Python позволяет нам делать это, помещая функция в круглые скобки и передавая аргументы в скобках после этого: (lambda x, y: (x + y) % 2)(1, 5) Второй вариант – присвоить объект функции переменной: func = lambda x, y: (x + y) % 2 Однако, присвоение анонимной функции переменно не соответствует официальным правилам стиля кода. Если вам нужно назвать функцию, имеет смысл объявлять ее явно с ключевым словом def.
|
|||
|