Python

Python Yield

Python Yield

Yield er et Python innebygd nøkkelord som returnerer verdien (e) fra en funksjon. Utførelsen av funksjonen avsluttes ikke. Snarere returnerer den verdien til den som ringer og opprettholder kjøringstilstanden til funksjonen. Utførelsen av funksjonen gjenopptas fra den siste avkastningsoppgaven. Utbyttet tillater oss å produsere en sekvens av verdier i stedet for en verdi. Den brukes inne i en funksjonskropp. Funksjonen som inneholder en avkastningsoppgave er kjent som generatorfunksjonen.

Det er flere fordeler å gi søkeord. For eksempel kontrollerer den minnetildelingen og lagrer den lokale variabeltilstanden. Imidlertid øker det kodenes kompleksitet.

Denne artikkelen forklarer bruken av avkastningsnøkkelordet med eksempler.

Syntaks for avkastning

Avkastningssyntaks er enkel og grei. Utbyttet initieres med avkastningsnøkkelordet og syntaksen som følger:

avkastningsverdi

Eksempler

La oss nå se eksempler for å forstå bruken og verkene av avkastningsuttalelser. Tradisjonelt avslutter returnøkkelordet utførelsen av programmet og returnerer en verdi på slutten, mens avkastning returnerer verdisekvensen. Den lagrer ikke verdien i minnet og returnerer verdien til den som ringer på kjøretid. I eksemplet nedenfor er en generatorfunksjon definert for å bestemme skuddåret. Et sprang er det året når det kan deles med fire, returnerer null som en rest. Avkastningsnøkkelordet returnerer verdien av skuddåret til den som ringer. Ettersom det vil få verdien av skuddåret, vil den stoppe programkjøringen, returnere verdien og deretter gjenoppta kjøringen der den ble stoppet.

#declaring en generator for å bestemme skuddår
def leapfunc (min_liste):
for jeg i min_liste:
hvis (i% 4 == 0):
# bruker avkastning
gi i
#declaring the year list
year_list = [2010,2011,2012,2016,2020,2024]
print ("Skrive ut skuddårsverdiene")
for x i leapfunc (årsliste):
skriv ut (x)

Produksjon

Produksjonen viser serien av skuddår.

La oss se et annet eksempel der generatorfunksjonen gir forskjellige tall og strenger.

#declaring en generatorfunksjon
def myfunc ():
gi "Mark"
gi "John"
gi "Taylor"
gi "Ivan"
utbytte 10
gi 20
gi 30
gi 40
gi 50
#calling og iterating gjennom generatorfunksjonen
for jeg i myfunc ():
#printingsverdier
skrive ut (i)

Produksjon

La oss implementere en generatorfunksjon for å beregne og skrive ut kubeverdien av tallsekvensen. Vi genererer kubeverdiene fra 1 til 30.

#declaring en generatorfunksjon for å beregne kubeverdien
def calcube ():
val = 1
# den uendelige mens løkken
mens det er sant:
#calcumating cube
avkastningsval * val * val
# økende verdi med 1
val = val + 1
print ("Kubeverdiene er:")
#calling generatorfunksjonen
for i i calcube ():
hvis jeg er> 30:
gå i stykker
skrive ut (i)

Produksjon

Utgangen viser kubeverdien mindre enn 30.

Konklusjon

Yield er et Python innebygd nøkkelord som ikke avslutter kjøringen av programmet og genererer en serie verdier. I sammenligning med returnøkkelordet gir avkastningsnøkkelordet flere verdier og returnerer til den som ringer. Denne artikkelen forklarer Python Yield med eksempler.

Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...
Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...