Python er det allment brukte programmeringsspråket for nyere tid. Utbyttet er et innebygd Python-nøkkelord som brukes til å lage generatorfunksjonene. Funksjonen genererer en rekke resultater. Det stopper gjennomføringen av programmet, sender resultatverdien tilbake til den som ringer, og fortsetter utførelsen fra siste avkastning. I tillegg til det, sender avkastningsfunksjonen den genererte resultatserien i form av et generatorobjekt. På den annen side er returen også et innebygd nøkkelord i Python som avslutter funksjonen og sender verdien tilbake til den som ringer.
Denne artikkelen skisserer forskjellene mellom avkastning og avkastning med eksempler.
Forskjeller mellom avkastning og retur
Til å begynne med er det mange fremtredende forskjeller mellom avkastning og avkastning. La oss først diskutere hva som er disse.
Komme tilbake | Utbytte |
---|---|
Returoppgaven returnerer bare en enkelt verdi til den som ringer. | Avkastningsoppgaven kan returnere en serie resultater til innringeren i form av et generatorobjekt. |
Returen går ut av funksjonen, og i tilfelle en sløyfe avviser den sløyfen. Det er den siste setningen som skal plasseres inne i funksjonen. | Det avskaffer ikke funksjonens lokale variabler. Det suspenderer utførelsen og sender verdien tilbake til den som ringer, og fortsetter utførelsen av programmet fra den siste avkastningsoppgaven. |
Logisk sett skal en funksjon bare ha en returoppgave. | Det kan være mer enn en avkastningsoppgave inne i funksjonen. |
Returoppgaven kan bare løpe en gang. | Avkastningsoppgaven kan løpe flere ganger. |
Returoppgaven er plassert i en vanlig Python-funksjon. | Avkastningsoppgaven konverterer en vanlig funksjon til en generatorfunksjon. |
Eksempel1: Returner vs. Utbytte
La oss nå se forskjellen mellom avkastnings- og avkastningsuttalelser gjennom eksempler. I eksempelprogrammet gitt nedenfor har vi brukt flere returuttalelser. Du kan observere at utførelsen av programmet avsluttes etter den første returoppgaven, og resten av koden vil ikke bli utført.
# et program for å vise hvordan returoppgaven fungerer#definere en tallvariabel
num1 = 10
#definere en tallvariabel
num2 = 20
#opprette en funksjon for å utføre aritmetiske operasjoner
def mathOP ():
#beregner sumverdien
return num1 + num2
#beregner forskjellen
retur num1-num2
#beregner multiplikasjonsverdien
retur num1 * num2
#beregner divisjonsverdien
return num1 / num2
#kaller funksjonen
skriv ut (mathOP ())
Produksjon
I utgangen kan det sees at funksjonen bare returnerer den første verdien, og programmet avsluttes.
For å utføre en lignende oppgave med flere returuttalelser, må vi lage fire forskjellige funksjoner for hver type aritmetisk operasjon.
# et program for å vise hvordan returoppgaven fungerer#definere en tallvariabel
num1 = 10
#definere en tallvariabel
num2 = 20
#opprette en funksjon for å utføre aritmetiske operasjoner
def sumOP ():
#beregner sumverdien
retur num1 + num2
def subtrahere OP ():
#beregner forskjellen
retur num1-num2
def multiplikasjon OP ():
#beregner multiplikasjonsverdien
retur num1 * num2
def divisjon OP ():
#beregner divisjonsverdien
return num1 / num2
#calling sum-funksjonen
print ("Summen er:", sumOP ())
#calling subtraksjonsfunksjonen
print ("Differensverdien er:", subtraher OP ())
#calling multiplikasjonsfunksjonen
print ("Multiplikasjonsverdien er:", multiplicationOP ())
#calling divisjonsfunksjonen
print ("Divisjonsverdien er:", divisionOP ())
Produksjon
Vi kan utføre disse flere aritmetiske operasjonene i en enkelt generatorfunksjon med flere ytelsesuttalelser.
# et program for å vise hvordan avkastningsoppgaven fungerer#definere en tallvariabel
num1 = 10
#definere en tallvariabel
num2 = 20
#opprette en funksjon for å utføre aritmetiske operasjoner
def mathOP ():
#beregner sumverdien
avkastning num1 + num2
#beregner forskjellen
avkastning num1-num2
#beregner multiplikasjonsverdien
avkastning num1 * num2
#beregner divisjonsverdien
avkastning num1 / num2
#kaller funksjonen
print ("Skrive ut verdiene:")
# bruker for loop for å få tilgang til verdiene fra generatorobjektet
for jeg i mathOP ():
skrive ut (i)
Produksjon
Eksempel2: Retur vs. Utbytte
La oss se et annet eksempel på avkastning og avkastning. I det gitte eksemplet har vi en liste over tall som sendes til mod () -funksjonen som et argument. Vi utfører moduloperasjonen på hvert antall lister og sjekker hva som er disse tallene delt på 10 returnerer null som en restverdi.
La oss først implementere dette eksemplet i vårt Python-skript med returuttalelse.
#definerer en liste med tallmyList = [10,20,25,30,35,40,50]
#defining en funksjon for å utføre moduloperasjonen
def mod (myList):
for jeg i myList:
#performing modulus operation
hvis (i% 10 == 0):
returnere jeg
skriv ut (mod (myList))
Produksjon
Returoppgaven returnerer bare det første nummeret til innringeren og avslutter utførelsen av funksjonen.
La oss nå implementere det samme eksemplet i vårt Python-skript med avkastningsuttalelsen.
#definerer en liste med tallmyList = [10,20,25,30,35,40,50]
#defining en funksjon for å utføre moduloperasjonen
def mod (myList):
for jeg i myList:
#performing modulus operation
hvis (i% 10 == 0):
# avkastningsoppgaven
gi i
for jeg i mod (myList):
skrive ut (i)
Produksjon
Konklusjon
Avslutningsvis er avkastning og avkastning to innebygde Python-nøkkelord eller uttalelser. Returuttalelsen brukes til å returnere verdien til innringeren fra en funksjon og avslutter utførelsen av programmet, mens avkastningsoppgaven produserer et generatorobjekt og kan returnere flere verdier til innringeren uten å avslutte utførelsen av programmet. Denne artikkelen viser alle de fremtredende forskjellene mellom avkastning og avkastning med eksempler.