miércoles, 22 de mayo de 2024

Lenguajes. Python.

Funciones lambda

Además de la definición formal de una función que ya conocemos, existe otro modo de definir unas funciones especiales que, por su sencillez, se conocen como funciones anónimas o funciones Lambda. estas funciones pertenecen al paradigma funcional y su presencia en Python evidencia que este lenguaje también soporta este paradigma de programación del cual hablamos brevemente en una entrada anterior.


El uso de funciones Lambda se produce a partir de cierto nivel de dominio del lenguaje Python y de complejidad en la formulación de los algoritmos, pero es conveniente conocer en qué consiste y cómo se formulan estas funciones para comprender el código que nos podemos encontrar, aunque no sepamos cómo formular este tipo de funciones ni las vayamos a emplear en este momento de nuestro nivel de aprendizaje.

En principio, una función Lambda (expresión Lambda es llamada en otros lenguajes) no es otra cosa que una forma simplificada de formular una función simple, lo que  nos evitará el procedimiento ordinario de formulación de una función y nos ahorrará escribir cierto número de líneas de código.

La sintaxis básica de una función Lambda es la siguiente:

lambda argumentos:expresión
  • lambda es la palabra reservada que identifica este tipo de función.
  • Los argumentos pueden ser 0 o tantos como se deseen (se separan con comas).
  • La expresión debe ser necesariamente única.

Observemos un ejemplo comparando la formulación estándar de una función...

def cuadrado(num):
return num**2

... y su versión como función lambda: lambda num:num**2

Si queremos dar funcionalidad de estas funciones deberemos completar el script, pero lo escrito nos permite apreciar las diferencias y similitudes entre ambas formulaciones:

  • La principal similitud es la simplicidad: no podremos expresar como función Lambda una función compleja, pero sí funciones simples como cuadrado() 
  • Y la principal diferencia también resulta evidente: mediante lambda no necesitamos una definición diferenciada y previa de la función, podemos embeberla en el código desde el que se llama a la función y utilizarla directamente.
Dado que el uso de las funciones lambda está reservado para la elaboración de código de cierta complejidad y aun no estamos en disposición de crearlo, no me voy a detener ahora en estas funciones por más tiempo. No obstante, si quieres saber algo más de ellas, te recomiendo la lectura de este breve artículo de  la web freecodecamp.org y el visionado de este vídeo del Curso Python de Píldoras Informáticas.


No hay comentarios:

Publicar un comentario

Comenta esta entrada