Bruk av Python Kwargs

Bruk av Python Kwargs
To typer argumenter kan sendes til Python -funksjonen. Dette er *args (ikke-nøkkelord argumenter) og ** kwargs (søkeordargumenter). Wildcard -tegnene, '*' og '**' brukes når antall argumenter ikke er definert. ** Kwargs brukes i funksjonen for å passere søkeordbaserte argumenter med variabel lengde i funksjonen. Ulike bruksområder av Kwargs i Python -funksjonen er vist i denne opplæringen.

Eksempel-1: Les nøkkelordargumentverdiene

Lag en Python -fil med følgende skript som bruker ** Kwargs som argumentet i funksjonen som heter sumfunc (). To tall har blitt bestått som søkeordargumenter til sumfunc () funksjon. De Kwargs.verdier () Funksjonen har blitt brukt i skriptet for å lese bare argumentverdiene til søkeordargumentet ved å bruke 'for' -løkken. Løkken vil iterere argumentverdiene og skrive ut summen av verdiene.

#Define funksjon
def sumfunc (** kwargs):
#Initialiser variabelen
Sum = 0
#Read argumentverdiene
for V i Kwargs.verdier ():
#Kalsulere summen
sum = sum + int (v)
#Uttrykk sumverdien
Print ("Resultatet av summen er: %d" %sum)
#Kallende funksjon med to argumenter
sumfunc (num1 = 10, num2 = 30)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Summen av 10 og 30 er 40, som er skrevet ut i utgangen.

Eksempel-2: Les nøkkelordargumentnøklene og verdiene

Lag en Python -fil med følgende skript som bruker ** Kwargs som argumentet i funksjonen som heter Myfunc (). To strenger er blitt passert som søkeordargumenter til Myfunc () funksjon. De Kwargs.varer () Funksjon har blitt brukt i skriptet for å lese argumentnøklene og verdiene til søkeordargumentet ved å bruke 'til' Løkke. Løkken vil iterere nøkkelen og verdien av argumentene og skrive ut tastene, verdiene og den sammenkoblede strengen til verdiene.

#Define funksjon
def myfunc (** kwargs):
melding = "
#LEAD argumentnavnene og verdien
for k, v i kwargs.elementer ():
Print (" %s = %s" %(k, v))
#Kombine strengverdiene
melding = melding + v
#Trykk de kombinerte strengverdiene
trykk (melding)
#Kallingsfunksjon med to argumenter for strengverdier
Myfunc (msg = 'velkommen til', nettsted = 'linuxhint')

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Den sammenkoblede verdien av argumentverdiene er, 'Velkommen til Linuxhint'. Tastene med verdier og den sammenkoblede strengen er skrevet ut i utgangen.

Eksempel-3: Bruk av Kwargs med et normalt argument

Lag en Python -fil med følgende skript der funksjonen tar det normale argumentet i det første argumentet, og nøkkelordargumentet i det andre argumentet. De Kwargs.verdier () Funksjon har blitt brukt i skriptet for å lese argumentverdiene bare fra søkeordargumentet. Deretter har verdiene til søkeordargumentet blitt sammenkoblet med verdien av det normale argumentet og skrevet ut senere.

#Define funksjon
def myfunc (argument, ** kwargs):
#Tilbud den ekstra argumentverdien
melding = argument
#Read argumentverdiene
for V i Kwargs.verdier ():
#Kombin ny verdi med forrige verdi
melding = melding + v
#Legg til den ekstra argumentverdien på slutten av variabelen
melding = melding + argument
#Trykk variabelen
trykk (melding)
#Kallingsfunksjon med to argumenter for strengverdier
Myfunc ('****', msg = 'Testing nøkkelord argument')

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Den sammenkoblede verdien av det normale argumentet og søkeordargumentet er, '**** Testing av søkeordargument ****' som er skrevet ut i utgangen.

Eksempel-4: Gi søkeordargumentet ved å bruke en ordbok

Lag en Python -fil med følgende skript der funksjonen tar fire normale argumenter og skriver ut gjennomsnittsverdien for argumentverdiene. Her er Kwargs -variablene blitt erklært som et ordboksobjekt der nøklene er de samme som de normale argumentvariablene. Deretter har funksjonen blitt kalt av ** kwargs.

#Definer en funksjon med fire argumentverdier
def avgfunc (var1, var2, var3, var4):
#Kalkulere gjennomsnittet av argumentverdiene
avg_value = (var1 + var2 + var3 + var4)/4
#Trykk gjennomsnittsverdiene
Utskrift ("Gjennomsnittsverdi på %D, %D, %D og %D er %F" %(var1, var2, var3, var4, avg_value)))
#Declare en ordbok med fire varer
kwargs = "var1": 20, "var2": 10, "var3": 30, "var4": 40
#Kall funksjonen med søkeordargumentene
avgfunc (** kwargs)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Gjennomsnittsverdien på 20, 10, 30 og 40 er 25 som er skrevet ut i utgangen.

Eksempel-5: Bruk av kwargs, normalt argument og argument med standardverdien

Lag en Python -fil med følgende skript der funksjonen tar to normale argumenter, to argumenter med standardverdier og nøkkelordargumentet. Verdien av 1st Argument som er vedtatt på tidspunktet for funksjonssamtalen, vil bli skrevet ut i den første utgangen. Summen av 1st, 2nd, og 3Rd Argumenter vil bli skrevet ut i den andre utgangen. Verdien av 4th Argumentet vil bli skrevet ut i den tredje utgangen. Verdien av søkeordargumentet vil bli skrevet ut som en ordbok i fjerde utgang.

""
Definer funksjonen med udefinerte argumenter,
Definerte argumenter og nøkkelordargumenter
""
def myfunc (var1, var2, var3 = 20, var4 = falsk, ** kwargs):
#Trykk den første argumentverdien
Print ("Den første argumentverdien er", var1)
#Trykk summen av tre argumentverdier
Print ("Summen av tre argumentverdier er", var1 + var2 + var3)
#Trykk det fjerde argumentverdien
Print ("Den fjerde argumentverdien er", var4)
#Trykk nøkkelordargumentene
Print ("Verdiene for søkeordargumenter er:", Kwargs)
#Call funksjonen
Myfunc (45, 35.89, Arg1 = 11, Arg2 = 22, Arg3 = 66)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Konklusjon

En funksjon kan kalles med et annet antall argumenter til forskjellige tider ved å bruke Kwargs basert på programmeringsformål. Bruken av Kwargs I Python -funksjonen er blitt forklart i denne opplæringen riktig for å hjelpe Python -brukerne å bruke den i skriptet når det er nødvendig.