Python es un lenguaje precioso, o por lo menos así me lo parece a mí, por tanto procedo a contarte aspectos, funciones y otras cosilla que a mí me llaman la función.
Las funciones lammbda son funciones anónimas, es decir no se declaran con un nombre, su sintáxis es: lambda <argumentos> : <expresión>
Un ejemplo sencillo podría ser:
In [6]:
cuadrado = lambda a: a*a
cuadrado(2)
Out[6]:
Por su sencillez se suelen utilizar como argumentso en funciones más simples como map
o filter
, antes de ejemplificar, para ver mejor su utilidad introduciré el concepto de listas por comprensión.
In [27]:
print( "Lista por compresión: " ,[ i for i in range(10)] )
l = list( map(lambda x : x*x ,range(10) ))
print( f"Esta preciosa lista { l } es resultado de la anterior")
print( f"Los números impares son: { list( filter( lambda x: x%2 , range(10)) )}")
[ (x,y) for x in range(3) for y in range(3,7,2)] #productos cartesianos
Out[27]:
Espero que haya estado usted fino y haya notado el uso del "nuevo" format en el print de python :D
In [43]:
def sumandos(f):
def nueva_funcion(a,b):
print(f'Se están sumando {a} y {b}')
f(a,b)
return nueva_funcion
@sumandos
def suma(a,b):
return a+b
suma(1,2)