В языке Python существует возможность создавать функции без имени (анонимные), используя ключевое слово lambda. Анонимная функция может содержать только одно выражение, которое должно всегда возвращать значение.
В отличие от созданной с помощью ключевого слова def обычной функции lambda-функция возвращает объект, который разрешается присвоить переменной. Впоследствии она может быть использована для того, чтобы обратиться к функции (обратный вызов) в любом месте программы и исполнить блок выражений, которые содержит функция. Таким образом, конструкция lambda позволяет программистам использовать альтернативный синтаксис для создания функции. Например:
def square( x ) :
return x ** 2
можно в более лаконичной форме записать так:
square = lambda x : x ** 2
Примеры:
func = lambda x, y: x + y
print ( func(1, 2) ) #3
print ( func('a', 'b') ) #ab
print ( (lambda x, y: x + y)(1, 2) ) #3
print ( (lambda x, y: x + y)('a', 'b') ) #ab
#lambda-функция как параметр
def checkAndProcess(number, process):
if number < 10:
process(number)
checkAndProcess(5, lambda number: print(number * 10))
#Результат выполнения: 50