Las funciones lambda o anónimas – 100 días de Python #10

Las funciones lambda o anónimas – 100 días de Python #10

Empezamos con las funciones lambda o anónimas y dejamos un tiempo Tkinter. Volveremos cuando tengas los conocimientos necesarios para entender fácilmente muchas cosas que van a venir en el curso.

¿Qué son las funciones lambda o anónimas?

Las funciones lambda o anónimas, son un tipo de sintaxis especial para crear funciones cortas con una sintaxis reducida, las cuales vamos a necesitar en Tkinter y en muchas otras cosas.

¿Por qué se llaman anónimas estas funciones?

Esto es debido a que no hace falta darles un nombre.

Diferencia entre función normal y lambda de Python

Aparte de la sintaxis reducida, la diferencia fundamental entre una función normal y una lambda, es que las funciones lambda no pueden tener más de una expresión. Sí que pueden tener tantos argumentos como queramos.

Ejemplo de uso de función lambda

Aquí tienes una función de multiplicación normal y corriente. Muy sencilla.

def multiplicacion(numero1,numero2):
	return numero1 * numero2

Al ser una función con una sola expresión (return numero1 * numero2), se puede utilizar una función lambda perfectamente.

lambda numero1, numero2 : numero1 * numero2

¿Cómo utilizamos las funciones lambda?

Aquí llega la cuestión de ¿cómo realizo entonces la llamada a una función que no tiene nombre con el que ser llamada?

Solo tienes que almacenar la función en una variable:

multiplicacion = lambda numero1, numero2 : numero1 * numero2

resultado1 = multiplicacion(10,7)
resultado2 = multiplicacion(3,8)

print(resultado1)
print(resultado2)

Resultado en la consola

70
24

Como puedes ver, ahora podemos llamar a la función con el mismo nombre de la variable que la almacena. Con lo que tenemos una mini función guardada en una variable.

¿Tengo que guardar esta función lambda en una variable para poder llamarla?

No, Python es genial y tiene infinidad de posibilidades (y estas están creciendo a buen ritmo, un buen ejemplo, es la adición del match hace unos meses).

Si quieres usar solo una vez la función, puedes hacer la declaración y llamada en la misma línea y sin variable con esta sintaxis. Envuelve la función con unos paréntesis y luego pon la llamada:

(lambda numero1, numero2 : print(numero1 * numero2))(7, 5)

Resultado en la consola

35

Te dejo unos ejercicios con las funciones lambda para que practiques lo aprendido.

Un comentario en «Las funciones lambda o anónimas – 100 días de Python #10»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso de Python Entrada anterior Soluciones de ejercicios – 100 días de Python #9
curso de Python Entrada siguiente Ejercicios con funciones lambda – 100 días de Python #10