Curso Intermedio de Python N05. Funciones lambdas

Cordiales Saludos


5_caratula.png

Funciones lambdas.

También llamadas funciones anónimas, son funciones simplificadas con una sola sentencia. Lo referente al concepto de anónimas es porque al ser simplificadas no poseen un nombre de función, como hacemos las "funciones normales", sino que al usar la palabra reservada: "lambda" su comportamiento como función se limita a gestionar algún parámetro y arrojar un resultado.

Su utilidad se potencia cuando queremos hacer una función sencilla o pequeña dentro de una linea de código.

Se puede apreciar mejor la construcción de las funciones lambdas comparándolas con las estructuras generales de funciones que ya hemos visto.

Como siempre comienzo mis cursos con hacer las cosas lo más simplificado posible, se logra un mejor entendimiento y que mejor manera que practicar esta función sumando 3 números.

En la siguiente captura de pantalla, vemos una función suma, que nos es muy familiar.


5_b.png

A continuación la transformaremos a una función lambda. Como podemos observar tenemos una variable, sumar que recibirá el resultado de la función lambda.
Colocamos la palabra reservada lambda seguido de los parámetros que recibirá la función, y luego de los dos puntos: el cuerpo de la función es decir, la sentencia que le da la solución o ejecuta el proceso que queremos realizar.


5_c.png

Debemos tomar en cuenta lo siguiente:

>>> sumar = lambda a,b,c: a + b + c
>>> type(sumar)
<class 'function'>
>>> 
>>> print(sumar)
<function <lambda> at 0x7fc3c9f61630>
>>> 

A continuación realizaremos tres ejercicios.

Ejercicio N1


5_d.png

Código

>>> s = lambda a = 10, b = 20, c = 30: a + b + c
>>> print(s())
60
>>> 
>>> print(s(100))
150
>>> 
>>> print(s(100,200))
330
>>> 
>>> 


Ejercicio N2


5_e.png

Código

>>> import random
>>> n = lambda a = 10, b = 20: random.randint(a,b)
>>> print(n())
20
>>> print(n())
10
>>> print(n())
19
>>> print(n(15))
20
>>> print(n(15))
15
>>> print(n(15))
16
>>> print(n(1,3))
1
>>> print(n(1,3))
1
>>> print(n(1,3))
3
>>> print(n(1,3))
2
>>> 


Ejercicio N3


5_f.png

Código

>>> a = 100
>>> funcion = lambda: a
>>> print(funcion())
100
>>> 
>>> b = 2000
>>> funcion2 = lambda: b * 2
>>> print(funcion2())
4000
>>> 
>>> 


No es necesario que cada vez que tengamos en cuenta el uso de las funciones lambdas, hacer la función de forma normal y luego transformarla. Lo que debemos tener claro es si es una instrucción sencilla de una sola línea de código, seguro nos será fácil su uso.

Corresponde ahora practicar mucho... Hasta la próxima publicación.



Profundizando en python


5_a.png

Lo realizado en la captura de pantalla anterior con un poco de conocimiento del manejo de la terminal de linux, lo podemos realizar de esta forma:

rafael@HP:~$ echo -e 'import keyword\nprint(keyword.kwlist)' > key.py;cat key.py; python3 key.py
rafael@HP:~$ echo -e 'import keyword\nprint(keyword.kwlist)' > key.py;cat key.py; python3 key.py
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
rafael@HP:~$ 


Recurso para aprender Python

Curso Gratis de Programación
Curso de Programación Básica

Mi Twitter

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now