Предыдущий урок: Функции в Python
Лямбда-функция — это небольшая анонимная функция. Она может принимать любое количество аргументов, но в то же время иметь только одно выражение.
Синтаксис
lambda аргументы : выражение
После выполнения выражения — возвращается результат. Лямбда-функции могут принимать любое количество аргументов.
lambda умножает аргумент 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))
Вывод:
13
Зачем использовать лямбда-функции?
Силу лямбда лучше видно, когда вы используете ее как анонимную функцию внутри другой функции. Скажем, у вас есть определение функции, которое принимает один аргумент, и этот аргумент будет умножен на неизвестное число:
def myfunc(n):
return lambda a: a * n
Используйте это определение функции для создания функции, которая всегда удваивает число, которое вы отправляете:
def myfunc(n):
return lambda a: a * n
mydoubler = myfunc(2)
print(mydoubler(11))
Вывод:
22
Или используйте то же самое определение функции, чтобы сделать функцию, которая всегда утраивает число:
def myfunc(n):
return lambda a: a * n
mytripler = myfunc(3)
print(mytripler(11))
Вывод:
33
Или, используйте то же самое определение, чтобы сделать обе функции в одной программе:
def myfunc(n):
return lambda a: a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
Вывод:
22
33
Используйте lambda-функцию, когда анонимная функция нужна в определенной части кода, но не по всем скрипте.
Далее: Массивы