Pasar Kwargs a otra función en Python
- Argumentos de palabras clave en Python
- 
          
            Función de llamada con **kwargsen Python
- 
          
            Pasar kwargsa otra función con Python
- Conclusión
 
Python enumera los dos tipos de argumentos que se pueden pasar a funciones en el programa. Los argumentos que no son palabras clave (**args) y el argumento de palabra clave (**kwargs).
Por lo general, las funciones de Python tienen que llamar con el número correcto de argumentos. Si la función espera dos argumentos, deberíamos pasar solo dos.
En este artículo, vamos a discutir cómo usar argumentos de palabras clave y cómo pasar argumentos de palabras clave a otra función.
Argumentos de palabras clave en Python
Generalmente, los argumentos pasan información a las funciones. Keyword Argument es un método que se puede usar para pasar argumentos a la función.
Especialmente utilizando argumentos de palabras clave, podemos enviar argumentos con la sintaxis clave = valor. Veamos el siguiente ejemplo.
def keyword_function(fname, lname, age):
    print("first name is " + fname)
keyword_function(fname="Anne", lname="Steaven", age=27)
Este ejemplo definió una función llamada keyword_function. Pasa tres argumentos llamados fname, lname y age.
Por lo tanto, estos argumentos se envían como argumentos de palabras clave porque cuando la función llama al programa, toma pares de clave y valor para cada argumento.
Producción:

En el resultado anterior, imprimimos una declaración pasando el argumento fname.
Función de llamada con **kwargs en Python
Principalmente, los argumentos de palabras clave se pueden usar cuando se desconocen varios argumentos. En ese caso, agregue dos asteriscos (**) antes del nombre del parámetro en la definición de la función.
Si la función tiene un parámetro **kwargs, acepta un número variable de argumentos de palabras clave como diccionario.
Piense en el siguiente ejemplo.
def animals(**kwargs):
    print(kwargs)
animals(name1="Rabbit", name2="Dog", name3="Monkey")
Hay una función llamada animales en el código anterior. Tiene un parámetro llamado **kwargs, la llamada de función con tres argumentos como argumentos de palabra clave.
Producción:

Podemos ver el resultado como un diccionario con dos pares de valores y claves. El argumento de los kwargs es convencional.
Entonces, como nombre de parámetro, podemos usar cualquier nombre significativo. Igual, así llaman a una función con el parámetro **kwargs.
Pasar kwargs a otra función con Python
Código:
def info(**kwargs):
    x = dict(name="shen", age=27, degree="SE")
    pass_func(**x)
def pass_func(**kwargs):
    for i in kwargs:
        print(i, kwargs[i])
info()
Usando el código anterior, imprimimos información sobre la persona, como nombre, edad y grado. Este programa pasa kwargs a otra función que incluye la variable x declarando el método dict.
Ejemplo de función definida info sin ningún parámetro. La función info declaró una variable x que definía tres pares clave-valor y, por lo general, el par clave-valor se define en tipo de diccionario en Python.
En consecuencia, el método dict especifica un par de claves y valores. Dado que los argumentos de desempaquetado kwargs se declaran como un tipo de diccionario, podemos usar el método dict para este ejemplo.
Luego tenemos otra función llamada pass_func, que pasa argumentos kwargs. Esta función incluye un bucle for que imprime argumentos kwargs, y después de eso, podemos pasar la función kwargs a la función info para imprimir x.
Entonces, llamamos pass_func con el argumento kwargs a la variable x. Finalmente, llamamos a la función info en la función pass_func.
Producción:

Conclusión
A lo largo del artículo, nos enfocamos en cómo pasar kwargs a otra función. Los argumentos kwargs pueden tener varias variables sin un parámetro definido para cada argumento.
Al pasar el argumento kwargs a la función, esta debe usar asteriscos dobles con el nombre del parámetro **kwargs. Al pasar kwargs a otra función, primero crea un parámetro con dos asteriscos, y luego podemos pasar esa función a otra función como nuestro propósito.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.
