Una función lambda es una pequeña función anónima. Una función lambda puede tomar cualquier número de argumentos, pero solo puede tener una expresión.
Sintaxis
Argumentos lambda: expresión
La expresión se ejecuta y el resultado se devuelve:
Ejemplo
Una función lambda que agrega 20 al número pasado como argumento e imprime el resultado:
x = lambda a : a + 20
print(x(10))
Las funciones Lambda pueden tomar cualquier número de argumentos:
Ejemplo
Una función lambda que multiplica el argumento a con el argumento b e imprime el resultado:
x = lambda a, b : a * b
print(x(2, 4))
Ejemplo
Una función lambda que suma los argumentos a, b y c e imprime el resultado:
x = lambda a, b, c : a + b + c print(x(2, 4, 8))
¿Por qué usar funciones Lambda?
El poder de lambda se muestra mejor cuando se usan como una función anónima dentro de otra función. Digamos que tienes una definición de función que toma un argumento, y ese argumento se multiplicará con un número desconocido:
def myfunc(n):
return lambda a : a * n
Use esa definición de función para hacer una función que siempre duplique el número que envía:
Ejemplo
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(8))
O, use la misma definición de función para hacer una función que siempre triplique el número que envía:
Ejemplo
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(8))
O, use la misma definición de función para hacer ambas funciones, en el mismo programa:
Ejemplo
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(8))
print(mytripler(8))
Use las funciones lambda cuando se requiera una función anónima por un corto período de tiempo.