САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

Python Учебник

Python Главная Python Введение Python Начало работ Python Синтаксис Python Комментарии Python Переменные Python Тип данных Python Числа Python Подбор Python Строки Python Булевы Python Операторы Python Списки Python Кортежи Python Наборы Python Словари Python If...Else Python Циклы While Python Циклы For Python Функции Python Лямбда Python Массивы Python Классы/Объекты Python Наследование

Python Лямбда



функция lambda — это небольшая анонимная функция.

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


Синтаксис

lambda аргумент : выражение

Выражение выполняется и возвращается результат:

Пример

Добавьте 10 к аргументу , и верните результат:

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))
Попробуйте сами »

Используйте лямбда-функции, когда анонимная функция требуется на короткий период времени.


Проверьте себя с помощью упражнений

Упражнение:

Создайте лямбда-функцию, которая принимает один параметр (a) и возвращает его.

x =