Uso de Python Kwargs

Uso de Python Kwargs
Se pueden pasar dos tipos de argumentos a la función Python. Estos son *args (argumentos no de palabras llave) y ** kwargs (argumentos de palabras clave). Los personajes comodín, '*' y '**' se usan cuando no se define el número de argumentos. El ** kwargs se usa en la función para pasar argumentos de longitud variable basados ​​en palabras clave en la función. Se han mostrado diferentes usos de Kwargs en la función de Python en este tutorial.

Ejemplo-1: lea los valores del argumento de la palabra clave

Crear un archivo de python con el siguiente script que usa ** Kwargs Como el argumento en la función nombrada sumfunc (). Se han pasado dos números como argumentos de palabras clave al sumfunc () función. El kwargs.valores() La función se ha utilizado en el script para leer solo los valores del argumento del argumento de palabras clave utilizando el bucle 'for'. El bucle iterará los valores del argumento e imprimirá la suma de los valores.

#Función Defina
def sumfunc (** kwargs):
#Inicializar la variable
suma = 0
#Leer los valores del argumento
para V en Kwargs.valores():
#Calcula la suma
sum = suma + int (v)
#Imprima el valor de la suma
imprimir ("El resultado de la suma es: %d" %suma)
#Función de llamada con dos argumentos
SumFunc (num1 = 10, num2 = 30)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La suma de 10 y 30 es 40, que se ha impreso en la salida.

Ejemplo-2: Lea las teclas y valores de argumento de palabras clave

Crear un archivo de python con el siguiente script que usa ** Kwargs Como el argumento en la función nombrada MyFunc (). Se han pasado dos cadenas como argumentos de palabras clave al MyFunc () función. El kwargs.elementos() La función se ha utilizado en el script para leer las teclas de argumento y los valores del argumento de palabras clave utilizando el 'para' bucle. El bucle iterará la clave y el valor de los argumentos e imprimirá las teclas, los valores y la cadena concatenada de los valores.

#Función Defina
def myfunc (** kwargs):
mensaje = "
#Leer los nombres y el valor de los argumentos
Para K, V en Kwargs.elementos():
imprimir (" %s = %s" %(k, v))
#Combine los valores de cadena
Mensaje = Mensaje + V
#Print a los valores de cadena combinados
Imprimir (mensaje)
#Función de calificación con dos argumentos de valores de cadena
MyFunc (msg = 'bienvenido a', sitio = 'linuxhint')

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El valor concatenado de los valores del argumento es 'Bienvenido a Linuxhint'. Las teclas con valores y la cadena concatenada se han imprimido en la salida.

Ejemplo-3: Uso de Kwargs con un argumento normal

Cree un archivo de Python con el siguiente script donde la función toma el argumento normal en el primer argumento y el argumento de la palabra clave en el segundo argumento. El kwargs.valores() La función se ha utilizado en el script para leer los valores del argumento solo del argumento de la palabra clave. A continuación, los valores del argumento de palabras clave se han concatenado con el valor del argumento normal e impreso más tarde.

#Función Defina
def myfunc (argumento, ** kwargs):
#Sign el valor de argumento adicional
mensaje = argumento
#Leer los valores del argumento
para V en Kwargs.valores():
#Combine nuevo valor con el valor anterior
Mensaje = Mensaje + V
#Add el valor de argumento adicional al final de la variable
mensaje = mensaje + argumento
#Imprimir la variable
Imprimir (mensaje)
#Función de calificación con dos argumentos de valores de cadena
MyFunc ('****', msg = 'Prueba de argumento de palabras clave')

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El valor concatenado del argumento normal y el argumento de palabras clave es, '**** Prueba de argumento de palabras clave ****' que se imprime en la salida.

Ejemplo-4: pase el argumento de la palabra clave utilizando un diccionario

Cree un archivo de Python con el siguiente script donde la función toma cuatro argumentos normales e imprima el valor promedio de los valores de argumento. Aquí, las variables de Kwargs se han declarado como un objeto de diccionario donde las claves son las mismas que los nombres de la variable de argumento normal. A continuación, la función ha sido llamada por ** kwargs.

#Define una función con cuatro valores de argumento
Def AVGFUNC (VAR1, VAR2, VAR3, VAR4):
#Calcula el promedio de los valores de los argumentos
AVG_VALUE = (VAR1 + VAR2 + VAR3 + VAR4)/4
#Imprimir los valores promedio
Impresión ("Valor promedio de %D, %D, %D y %D es %F" %(VAR1, VAR2, VAR3, VAR4, AVG_VALUE))
#Declare un diccionario de cuatro elementos
kwargs = "var1": 20, "var2": 10, "var3": 30, "var4": 40
#Calte la función con los argumentos de palabras clave
avgfunc (** kwargs)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El valor promedio de 20, 10, 30 y 40 es 25 que se ha imprimido en la salida.

Ejemplo-5: Uso de kwargs, argumento normal y argumento con el valor predeterminado

Cree un archivo de Python con el siguiente script donde la función toma dos argumentos normales, dos argumentos con valores predeterminados y el argumento de la palabra clave. El valor del 1calle El argumento que se pasa en el momento de la llamada de función, se imprimirá en la primera salida. La suma del 1calle, 2Dakota del Norte, y 3rd Los argumentos se imprimirán en la segunda salida. El valor de los 4th El argumento se imprimirá en la tercera salida. El valor del argumento de palabras clave se imprimirá como un diccionario en la cuarta salida.

"
Definir la función con argumentos indefinidos,
Argumentos definidos y argumentos de palabras clave
"
Def myFunc (var1, var2, var3 = 20, var4 = false, ** kwargs):
#Print el primer valor de argumento
Imprimir ("El primer valor del argumento es", Var1)
#Imprima la suma de tres valores de argumentos
Imprimir ("La suma de tres valores de argumento es", var1 + var2 + var3)
#Print el valor del cuarto argumento
imprimir ("El valor del cuarto argumento es", var4)
#Imprima los argumentos de palabras clave
Imprimir ("Los valores de los argumentos de palabras clave son:", Kwargs)
#Call la función
Myfunc (45, 35.89, arg1 = 11, arg2 = 22, arg3 = 66)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Conclusión

Se puede llamar a una función con un número diferente de argumentos en diferentes momentos utilizando kwargs basados ​​en fines de programación. Los usos de kwargs En la función de Python se han explicado en este tutorial adecuadamente para ayudar a los usuarios de Python a usarlo en su script cuando sea necesario.