Анонимные lambda функции
lambda-функция - анонимная функции, выраженная в виде одного оператора.
Ее можно использовать вместо обычной небольшой функции.
Синтаксис
lambda аргумент1, аргумент2, ...: <выражение>
Замена обычной функции
>>> def edit_story(words, func):
for word in words:
print(func(word))
>>> def enliven(word): # функция, которая будет заменена
return word.capitalize() + '!'
>>> stairs = ['thud', 'meow', 'thud', 'hiss']
>>> edit_story(stairs, enliven)
Thud!
Meow!
Thud!
Hiss!
# lambda:
>>> edit_story(stairs, lambda word: word.capitalize() + '!')
Thud!
Meow!
Thud!
Hiss!
Лямбда-выражение имеет ноль или больше аргументов, разделенных запятой, после которых идет двоеточие (:) и определение функции.
Этому лямбда-выражению передается (in this case) один аргумент word. Для вызова лямбда-выражения не используются круглые скобки.
Зачастую использование реальных функций, таких как enliven(), гораздо понятнее, чем использование лямбд. Лямбды наиболее полезны в случаях, когда вам нужно определить множество мелких функций и запомнить все их имена.
Еще пару простых примеров:
>>> x = lambda x, y: x * y
>>> x(3, 4)
12
>>> print((lambda x, y: x * y)(3,4))
12
>>> print((lambda: 100)()) # silly пример
100
Соус: Книга “Простой Python” → Глава 9. “Функции” → “Анонимные функции: лямбда-выражения”
Функции в python