Curso Intermedio de Python N05. Funciones lambdas

By rafaelaquino on 8/19/2023

Cordiales Saludos

![5_caratula.png](Image from post)

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](Image from post)

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](Image from post)

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](Image from post)

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](Image from post)

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](Image from post)

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](Image from post)

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

Comments (3)

visualblock's avatar @visualblock 8/20/2023

Has sido curado por @visualblock / You've been curated by @visualblock Bienvenidas delegaciones / Delegations welcome [Trail de Curación / Curation Trail](https://hive.vote/dash.php?trail=visualblock&i=1)

Vota por nuestro Testigo aliado - @hispapro / Vote for our allied Witness - @hispapro Más información sobre el testigo aquí / More information about the witness here

ecoinstant's avatar @ecoinstant 8/20/2023

Excelente este tipo de contenido, yo le apoyo ya le mande unos SBI para que sigue motivado. Se puede ver en https://peakd.com/@rafaelaquino/wallet/others

rafaelaquino's avatar @rafaelaquino 8/20/2023

Saludos, apreciado amigo...Gracias por pasar por mi publicación y agradecido por tu apoyo. Fuerte abrazo!

stemsocial's avatar @stemsocial 8/21/2023

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.