Pasar Kwargs a otra función en Python

Migel Hewage Nimesha 15 febrero 2024
  1. Argumentos de palabras clave en Python
  2. Función de llamada con **kwargs en Python
  3. Pasar kwargs a otra función con Python
  4. Conclusión
Pasar Kwargs a otra función en Python

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:

Imprime una declaración pasando un argumento a la funció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:

Función de llamada con **kwargs en Python

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:

Pasar kwargs a otra función con Python

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.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.

Artículo relacionado - Python Argument