Рубрики
Без рубрики

Python Lambda – анонимная функция

Функции Python Lambda также называют анонимной функцией. У них нет никакого имени. Примеры функции Python Lambda с картой (), фильтром () и уменьшения ().

Автор оригинала: Pankaj Kumar.

Python Lambda – анонимная функция

  • Функция Python Lambda или Anonymous Python не имеет имя.
  • Мы можем определить анонимную функцию, используя лямбда Зарезервировано ключевое слово Отказ
  • Анонимная функция Case ограничена Текущий объем где он определен.
  • Лямбда Функция может иметь один или несколько аргументов, но он может иметь Только одно выражение Отказ
  • Выражение оценивается, и результат возвращается из функции лямбда.
  • Функции лямбда обычно используются с картой (), фильтром () и уменьшениями ().

Python Lambda Функциональный синтаксис

Синтаксис функции лямбда:

lambda arguments : expression

Пример анонимных функций Python

Допустим, у нас есть функция, чтобы получить область прямоугольника.

def area_of_rectangle(l, w):
    return l * w


print(f'Area of Rectangle (4, 5) is {area_of_rectangle(4, 5)}')

Давайте создадим анонимную функцию, используя ключевое слово lambda, чтобы получить область прямоугольника.

rectangle_area = lambda x, y: x * y

print(f'Area of Rectangle (4, 5) is {rectangle_area(4, 5)}')

Когда использовать анонимную функцию?

  • Для небольших тривиальных задач с не очень сложностью.
  • Когда функция имеет только одно выражение.
  • Для повторяющихся задач, которые являются временными по своей природе.
  • Когда вы хотите, чтобы области функции будет ограничен только текущим объемом.
  • Это полезно, когда аргумент функции является другой функцией, такой как MAP (), FILTER () и SENDECT ().

Функция лямбда с картой ()

Функция MAP () принимает функцию и, как и аргументы. Функция применяется к каждому элементу в указанном элементе, и возвращается обновленным Iterable.

Скажем, у нас есть список целых чисел. Мы должны создать новый список, умножая каждый элемент с 10. Мы можем использовать функцию лямбда здесь, а не создавать функцию для этого одноразового корпуса.

list_numbers = [1, 2, 3, 4]

list_numbers = map(lambda x: x * 10, list_numbers)

for num in list_numbers:
    print(num, end=" ")

Выход:

Python Lambda Функция с картой

Лямбда функция с фильтром ()

Функция встроенного фильтра () принимает функцию и, как и аргумент. Функция применяется к каждому элементу счетчика. Если функция возвращает TRUE, элемент добавляется к возвращенному указанному.

Допустим, у нас есть список целых чисел, и мы хотим удалить все нечетные номера. Окончательный список должен иметь только даже целые числа. Мы можем использовать функцию фильтра () здесь с функцией лямбда.

list_numbers = [1, 2, 3, 4, 5, 6]

list_numbers = filter(lambda x: x % 2 == 0, list_numbers)

for num in list_numbers:
    print(num, end=" ")
Python Lambda Функция с фильтром

Лямбда функция с уменьшением ()

Функция уменьшения () присутствует в Functools модуль. Эта функция принимает функцию и последовательность в качестве аргумента. Функция должна принимать два аргумента. Элементы из последовательности передаются в функцию наряду с совокупным значением. Окончательный результат является одно значение.

Допустим, у нас есть список целых чисел, и мы хотим получить сумму всех его элементов. Мы можем использовать функцию Undere () здесь с функцией лямбда.

from functools import reduce

list_ints = [1, 2, 3, 4, 5, 6]

total = reduce(lambda x, y: x + y, list_ints)

print(f'Sum of list_ints elements is {total}')
Python Lambda функционирует с уменьшением

Python Lambda функция без аргументов

Кто-то спросил меня, если у нас может быть функция лямбда без какого-либо аргумента?

Да, мы можем определить функцию лямбда без какого-либо аргумента. Но, это будет бесполезно, потому что не будет никакого для работы. Давайте посмотрим на простой пример.

get_5 = lambda: 5

print(get_5())  # 5

Поскольку функция лямбда всегда возвращает одинаковое значение, мы можем просто назначить ее переменной. Использование функции лямбда без какого-либо аргумента – это просто злоупотребление этой функцией.

Заключение

Анонимные функции Python созданы с помощью ключевого слова lambda. Они полезны, когда аргумент функции является другой функцией. Он в основном используется для создания простых функций утилиты для одноразового использования.

Использованная литература: