66. Funciones lambda
Vídeo
Notas personales
En esta lección, estudiaremos las funciones lambda. Una función lambda es una función anónima, y se utilizan en Python a la hora de programar para abreviar, ya que aligera la sintaxis del código. Además, no ocupan lugar en el espacio de nombres asociado a las funciones de una aplicación.
Cualquier tarea que llevemos a cabo con una función lambda se puede desarrollar mediante una función normal, pero no así a la inversa (sobre todo cuando su lógica es compleja).
Por ejemplo, para calcular el área de un triángulo, podemos construir la función:
def area_triangulo(b, h):
return b * h / 2
for b in range(1, 10, 5):
for h in range(1, 10, 5):
print(
f"El área del triángulo de base {b} y altura {h} es {area_triangulo(b, h)}."
)
El área del triángulo de base 1 y altura 1 es 0.5.
El área del triángulo de base 1 y altura 6 es 3.0.
El área del triángulo de base 6 y altura 1 es 3.0.
El área del triángulo de base 6 y altura 6 es 18.0.
No obstante, una función tan sencilla puede ser abreviada como una función lambda.
area_triangulo = lambda b, h: b * h / 2
for b in range(1, 10, 5):
for h in range(1, 10, 5):
print(
f"El área del triángulo de base {b} y altura {h} es {area_triangulo(b, h)}."
)
El área del triángulo de base 1 y altura 1 es 0.5.
El área del triángulo de base 1 y altura 6 es 3.0.
El área del triángulo de base 6 y altura 1 es 3.0.
El área del triángulo de base 6 y altura 6 es 18.0.
Nota: las funciones lambda, generalmente, no se asignan a variables. En tales casos, conviene hacer uso de la instrucción def
y definir una función tal y como estamos habituados.
Usadas ‘‘al vuelo’’, su sintaxis queda como sigue:
print("El cubo de 3 es " + str((lambda x:x**3) (3)))
El cubo de 3 es 27
Código fuente
El código fuente y los posibles ficheros externos generados correspondientes a esta lección se encuentran disponibles para su consulta en la carpeta /lecciones/66/
del
repositorio.