Лямбда-функция на Python определяется с помощью ключевого слова lambda. Это маленькая анонимная функция, которая может принимать любое количество аргументов, но может содержать только одно выражение.
Пример лямбда-функции x, которая умножает параметр a на параметр b:
x = lambda a, b : a * b print(x(5, 6))
Этот код напечатает:
30
В следующем примере складываются a, b и c:
x = lambda a, b, c : a + b + c print(x(5, 6, 2))
[Причина появления лямбда-функций]
Вероятно, идея лямбда-функций для Python была заимствована из языка C++. Сила лямбда-функции хорошо проявляется, когда мы используем её как анонимную функцию внутри другой функции.
Допустим, у вас есть определение функции, которое принимает один аргумент, и этот аргумент будет умножен на неизвестное число, которое должно быть определено локально, когда-нибудь в будущем:
def myfunc(n):
return lambda a : a * n
Используя это определение функции, можно создать функции, которые умножают число на значение, которое вы задаете:
def myfunc(n):
return lambda a : a * n
# Создание функции, которая будет удваивать число:
mymult2 = myfunc(2)print(mymult2(11))
# Создание функции, которая будет утраивать число:
mymult3 = myfunc(3)print(mymult3(11))
Этот код напечатает:
22 33
Используйте lambda-функции как простые анонимные функции, которые требуются в течение короткого промежутка времени, для упрощения кода и повышения его читаемости.
[Ссылки]
1. Python Lambda site:w3schools.com. |