Ir al contenido principal

Python: lambdas

Las lambdas son funciones anónimas, funciones que no están asociadas a un identificador. En lenguajes como Python que permiten diferentes paradigmas de programación (funcional, orientada a objetos) se pueden usar.

La síntaxis es la siguiente:
lambda var1, var2, varN = operacion
En Python podemos crear una lambda que sume dos números enteros:
lambda a, b = a+b
Ésta misma función la podemos asignar a una variable 'resultado':
resultado = lambda a, b = a+b
print("La suma de 3 + 6 da: ",resultado(3,6))#9

def suma(x,y):
   return x+y

def lambdaSuma(a,b):
    return lambda a,b: suma(a,b)

print("La suma de 4 + 7 da ",lambdaSuma(4,7))#11

Las lambdas pueden ser usadas conjuntamente en listas comprimidas:
lista = [1,2,3,4,5,6,7]
print([x for x in lista if x %2 == 0])
Con lambda:
lista = [1,2,3,4,5,6,7]
resto = lambda x: x%2
print([x for x in lista if resto(x) == 0])

Las funciones lambda son tan importantes que hasta lenguajes diseñados para serpuraente orientados a objetos, como Java, lo han implementado. A su vez en lenguajes como Javascript, Erlang, Elixir, Go, entre otros más, es común encontrar éstas expresiones ya que implementan la programación funcional.

Si quieres saber más sobre lambdas te serviría leer esto: https://emanuelpeg.blogspot.com/2020/10/introduccion-al-calculo-lambda.html
Links:
https://alquimistadecodigo.blogspot.com/2014/03/un-vistazo-python.html
https://alquimistadecodigo.blogspot.com/2014/05/python-lo-bello-es-mejor-que-lo-feo.html
https://alquimistadecodigo.blogspot.com/2019/02/python-clases-herencia-y-cosas-utiles.html
https://realpython.com/python-lambda/
https://es.wikipedia.org/wiki/Expresi%C3%B3n_lambda

Comentarios