Curso Intermedio de Python N07. Kwargs, Ciclo Anidados

Cordiales Saludos


07_portada.png

Parámetro especial **Kwargs

Kwargs viene a complementar todas las formas posibles de pasar nuestros argumentos a una función. Se complementa los argumentos posicionales; los argumentos de palabras claves y los argumentos predeterminados. Te recomiendo que repases la publicación anterior referente a Argumentos posicionales y Args

Podemos hacer uso de Kwargs cuando deseamos pasar varios argumentos (especificamente con el formato Clave-Valor), permitiendo que nuestra funciones sean más flexibles a la hora de recibir los parámetros. Cabe destacar que los valores son agrupados en diccionarios a diferencia de los args donde se agrupaban en tuplas.

Es fácil de deducir por qué la palabra kwargs se utiliza por convención dentro de la comunidad. Kwargs es el equivalente a KeyWord arguments.

En el siguiente ejemplo enviamos los argumentos numeros y colores a la función valores. El parámetro **kwargs tomará todos esos valores en forma de diccionario.


07_kwargs_01.png

Podemos agregar otra variable dentro de los parámetros de la función. En este caso colocamos la variable k al comienzo seguido de **kwargs. Aquí la variable k toma el valor de 10 y los demás valores entran en la variable kwargs en forma de diccionario


07_kwargs_02.png

A continuación un ejericicio donde se combina args y kwargs. En la capture de pantalla se observa con claridad que los valores: 10, 20, 30 y 40 pasan a ser una tupla por el *args y los números y colores pasan a ser un diccionario cuando son recibidos por **kwargs.


07_kwargs_03.png

Para aumentar la potencialidad de la función combinaremos a continuación dentro de los parámetros de la función: una variable, args y kwargs.


07_kwargs_04.png

En el siguiente agregué una variable más, en este caso la z.

07_kwargs_05.png

Ciclos Anidados

Ciclo for

Comenzaremos con el ciclo for. Repasaremos dos formás básicas de generar los tres primeros números naturales.


07_for_01.png

En algunos algoritmos necesitaremos anidar los ciclos, lo cual consiste en colocar un ciclo dentro de otro ciclo.

En el siguiente ejercicio vemos dos ciclos anidados for, nótese que la corrida en frio sería primero la acción del primer ciclo, luego hasta que se agote el ciclo interno volverá al primer ciclo.


07_for_02.png

Este ejercicio es parecido al anterior tan solo que lo que visualizamos está dentro del segundo ciclo.

07_for_03.png

En el siguiente ejercicio podemos ver como representar una matriz 3x3.

07_for_04.png

Y conociendo como podemos representar una matriz, también podemos trabajar con ella. En este caso se desea generar La Matriz Identidad

07_for_05.png

A continuación podemos observar que no hay límites para anidar los ciclos. Siempre debemos tener presente que debe agotarse la variable del último ciclo (el ciclo más interno) para subir a al ciclo anterior.

07_for_06.png

Ciclo while

Repasemos las formas básicas del ciclo while. Revisa que al colocar la instrucción print(x) son diferentes los números generados.


07_while_01.png

Aquí al anidar los ciclos while funciona igual que los ciclos for. Debe agotarse la variable del ciclo while más interno para volver al ciclo superior.

07_while_02.png

Podemos combinar los ciclos. En este caso combinamos el ciclo for, con el ciclo while.

07_while_03.png

Nótese que la mover la variable x los resultados son diferentes.

07_while_04.png



Ampliando conocimientos

En esta oportunidad cree un enlace simbólico, específicamente ir_cuadernos ya que la ruta para entrar a los cuadernos de ejercicios es muy grande.


07_funfamentos_01.png

Veamos el siguiente caso: Realicé los ejercicios de esta publicación en un Google Colab.

07_funfamentos_02.png

Como necesito pasarlo a mi entorno virtual (dentro de mi computador) donde tengo el ejercicio de la publicación anterior. Descargo todos el cuaderno en Archivo/Descargar-Descargar .ipynb

07_funfamentos_03.png

Busco el acceso directo a mi cuaderno, que en este caso es el enlace simbólico recien creado y lo descargo dentro de esta carpeta. Aquí coloco el nombre 07_kwargs

07_funfamentos_04.png

Revisando mi terminal ya veo que está 07_kwargs.ipynb

07_funfamentos_05.png

Ahora para entrar al cuaderno usaremos: jupyter lab 07_kwargs.ipynb

07_funfamentos_06.png

Y listo!

07_funfamentos_07.png


Recurso para aprender Python

Estamos haciendo ejercicios que no se abordaron en mis dos cursos anteriores. Si es la primera vez que pasas por mis publicaciones te recomiendo que revises el material anterior.

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

Mi Twitter
Mi facebook

Sort:  

Excelente explicación profe. Los **Kwargs son muy útiles pero complicados de entender al principio.

Gracias por pasar por aquí.
Así ya podemos hacer una super función! Acompañado de los *args.
Salud y feliz Año 2024!

Feliz 2024. Bendiciones para usted y su familia.

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.