Python лямбда
Лямбда-функция — это небольшая анонимная функция.
Лямбда-функция может принимать любое количество аргументов, но может иметь только одно выражение.
Синтаксис
lambda arguments : expression
Выражение выполняется и возвращается результат:
Пример
Добавьте 10 к arguments a
и верните результат:
x = lambda a : a + 10
print(x(5))
Лямбда-функции могут принимать любое количество аргументов:
Пример
Умножьте аргумент a
на аргумент
b
и верните результат:
x = lambda a, b : a * b
print(x(5, 6))
Пример
Суммируйте аргумент a
,
b
и c
и верните результат:
x = lambda a, b, c : a + b + c
print(x(5, 6,
2))
Зачем использовать лямбда-функции?
Сила лямбда лучше проявляется, когда вы используете их как анонимную функцию внутри другой функции.
Скажем, у вас есть определение функции, которое принимает один аргумент, и этот аргумент будет умножен на неизвестное число:
def myfunc(n):
return lambda a : a * n
Используйте это определение функции, чтобы создать функцию, которая всегда удваивает число, которое вы отправляете:
Пример
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
Или используйте то же определение функции, чтобы создать функцию, которая всегда утраивает число, которое вы отправляете:
Пример
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
Или используйте одно и то же определение функции для создания обеих функций в одной и той же программе:
Пример
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
Используйте лямбда-функции, когда анонимная функция требуется на короткий период времени.