¿Alguna vez has querido saber cómo emplear una función anidada en Python?, ¿cuál es la relación entre la función principal y la función anidada en términos de flujo de ejecución? Si la respuesta es afirmativa, te recomendamos seguir leyendo este post. Se denomina una función anidada dicha función la misma está enlazada dentro de otras funciones. Es decir, que una función llama a otra anteriormente establecida y la trabaja con argumentos como *args y **kwargs. Así pues, en este artículo te comentamos cómo emplear una función anidada en Python, que no es lo mismo que el si anidado excel.
Función anidada
La función anidada o if anidados en Python se establece como una función que llama a otra función a partir de su definición dentro de ella. Así pues, ambas funciones se trabajan cuando se les ingresan argumentos como *args, para trabajar por posiciones, y **kwargs, para trabajar con las keywords o nombres que se le atribuyen a los valores dentro de la función o funciones anidadas.
¿Cómo emplear una función anidada en Python?
Como has podido leer en el apartado anterior, los argumentos que viene por *args se establecen por la posición, mientras que los argumentos que vienen por keywords o palabras clave lo hacen con **kwargs, dentro de una función anidada.
En las funciones anidadas que representaremos a continuación, los valores que vienen por *arg están establecidos como una lista, mientras que los valores por **kwargs lo hacen como un diccionario.
Primer ejemplo para definir la función anidada o if anidados en Python
Ahora que sabes qué es una función anidada, miremos algunos ejemplos. En el primero para definir la función anidada o if anidados en Python vemos cómo el programa establece los valores para cada uno de los argumentos, es decir, para args y kwargs. En primer lugar, a args se le ingresa un valor 1, como tupla para definir una posición, mientras que a kwargs se le ingresa una keyword como diccionario.
En el momento de ejecutar, vemos cómo funciona cada uno de ellos. Mientras las dos primeras opciones, ( ) y (6), devuelven solo el primer valor, el del uno, transformado para la ejecución dada su posición (uno = 7), vemos como también se transforma el uno, pero dada la keyword.
//cómo emplear una función anidada en Python
#función original a la que se le llama
def tres_parametros (uno, dos = 2, tres = 3)
print (f "Los parámetros valen uno = {uno}, dos = {dos}, tres = tres}")
#primera forma de definir una función con *args y **kwargs.
def anidada (*args. **kwargs)
if len (args) == 1
uno = args [0]
elif "uno" in kwargs:
uno = kwargs ["uno"]
else:
uno = 1
tres_parámetros = (uno, dos = 4, tres = 9)
#valores que se imprimen con la función
anidada ( )
anidada (6)
anidada (uno = 7)
#resultado después de ejecutar la función
Los parámetros valen uno = 1 dos = 4 tres = 9
Los parámetros valen uno = 4 dos = 4 tres = 9
Los parámetros valen uno = 7 dos = 4 tres = 9
Segundo ejemplo para definir la función anidada o if anidados en Python
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaAhora que has profundizado en qué es una función anidada, seguiremos explorando mensajes. En esta vemos como la if anidados en Python solo corre con los valores que hemos establecido en la función anidada. No encontramos ningún ingreso de tuplas o diccionarios, como en el ejemplo anterior.
Aquí, por otro lado, vemos cómo ingresamos los argumentos args y kwargs de anidada a nuestra función tres_parametros.
En el momento de ejecutar, vemos que 10 entra por args, ya que es un argumento posicional. Dado que no hay otros argumentos que lo acompañen, los valores dos y tres de la función original se establecen por defecto. Esto también pasa en la segunda llamada de la función anidada (10, 12), pues entran posicionalmente, lo que hace que el tercer valor, es decir, el 3, quede por defecto.
En la terceda llamada, los argumentos entran por kwargs, pues tienen una keyword. En la última, se mezclan los dos argumentos, pues uno entra por posición y otro por keyword.
//cómo emplear una función anidada en Python
#función original a la que se llama
def tres_parametros (uno, dos = 2, tres = 3)
print (f "Los parámetros valen uno = {uno}, dos = {dos}, tres = tres}")
#segunda forma de definir una función con *args y **kwargs.
def anidada (*args. **kwargs)
tres_parametros = (*args, **kwargs)
//cómo emplear una función anidada en Python
#valores que se imprimen con la función
anidada (10 )
anidada (10, 12)
anidada (tres = 13, uno = 11, dos = 12)
anidad (6, tres = 7)
#resultado después de ejecutar la función
Los parámetros valen uno = 10 dos = 2 tres = 3
Los parámetros valen uno = 10 dos = 12 tres = 3
Los parámetros valen uno = 11 dos = 12 tres = 13
Los parámetros valen uno = 6 dos = 12 tres = 7
De esta manera, ya sabes qué es una función anidada y cómo manejar dos opciones para ejecutar una función anidada o funciones anidadas con los argumentos *args y **kwargs para trabajar posicionalmente y desde keywords para la función anidada.
¿Cuál es el siguiente paso?
Ahora que conoces cómo emplear una función anidada en Python, con argumentos como *args y **kwargs de anidada, estás mucho más cerca de realizar un programa de código más robusto y práctico.
Así pues, si te interesa seguir aprendiendo sobre programación, como responder a la pregunta de cuál es la relación entre la función principal y la función anidada en términos de flujo de ejecución, en especial sobre Python, te recomendamos apuntarte al Aprende a Programar desde Cero Full Stack Jr. Bootcamp de KeepCoding. Es una oportunidad perfecta para convertirte en un programador en pocos meses con la compañía de profesores expertos en el código. ¡Anímate y sigue programando!