Python Yield vs. Return

Python Yield Vs Return



Python är det allmänt använda programmeringsspråket på senare tid. Avkastningen är ett inbyggt Python-nyckelord som används för att skapa generatorfunktionerna. Dess funktion genererar en rad resultat. Det pausar körningen av programmet, skickar resultatvärdet tillbaka till den som ringer och fortsätter körningen från det senaste avkastningen. Utöver det skickar avkastningsfunktionen den genererade serien av resultat i form av ett generatorobjekt. Å andra sidan är returen också ett inbyggt sökord i Python som avslutar funktionen och skickar tillbaka värdet till den som ringer.

Denna artikel beskriver skillnaderna mellan avkastning och avkastning med exempel.







Skillnader mellan avkastning och avkastning

Till att börja med finns det många framträdande skillnader mellan avkastning och avkastning. Låt oss först diskutera vad som är dessa.



Lämna tillbaka Avkastning
Returseddelandet returnerar endast ett enda värde till den som ringer. Avkastningssatsen kan returnera en serie resultat till den som ringer i form av ett generatorobjekt.
Returen lämnar funktionen, och i fallet med en slinga avvisar den slingan. Det är det sista uttalandet som ska placeras inuti funktionen. Det avskaffar inte funktionens lokala variabler. Det avbryter körningen och skickar tillbaka värdet till den som ringer och fortsätter körningen av programmet från den senaste avkastningsuppgiften.
Logiskt sett bör en funktion bara ha en returseddel. Det kan finnas mer än en avkastningssats i funktionen.
Returutdraget kan bara köras en gång. Avkastningsuppgiften kan köras flera gånger.
Returuttrycket placeras i en vanlig Python -funktion. Avkastningsangivelsen omvandlar en vanlig funktion till en generatorfunktion.

Exempel 1: Avkastning mot avkastning

Låt oss nu se skillnaden mellan avkastnings- och avkastningsuttalanden genom exempel. I exempelprogrammet nedan har vi använt flera retursedlar. Du kan observera att körningen av programmet kommer att avslutas efter det första returseddelandet, och resten av koden kommer inte att köras.



#ett program för att visa hur returavklaringen fungerar

#definiera en talvariabel

num1=10

#definiera en talvariabel

num2=tjugo

#creating a function to perform aritmetic operations

def mathOP():

#beräkning av summan

lämna tillbakanum1+num2

#beräkna skillnaden

lämna tillbakanum1-num2

#beräkna multiplikationsvärdet

lämna tillbakanum1*num2

#beräkning av divisionsvärdet

lämna tillbakanum1/num2

#kallar funktionen

skriva ut(mathOP())

Produktion





I utdata kan man se att funktionen bara returnerar det första värdet och programmet avslutas.



För att utföra en liknande uppgift med flera retursedlar måste vi skapa fyra olika funktioner för varje typ av aritmetisk operation.

#ett program för att visa hur returavklaringen fungerar

#definiera en talvariabel

num1=10

#definiera en talvariabel

num2=tjugo

#creating a function to perform aritmetic operations

def sumOP():

#beräkning av summan

lämna tillbakanum1+num2

def subtractOP():

#beräkna skillnaden

lämna tillbakanum1-num2

def multiplikationOP():

#beräkna multiplikationsvärdet

lämna tillbakanum1*num2

def divisionOP():

#beräkning av divisionsvärdet

lämna tillbakanum1/num2

#calling summa -funktionen

skriva ut('Summan är:',sumOP())

#kallar subtraktionsfunktionen

skriva ut('Skillnadsvärdet är:',subtrahera OP())

#kallar multiplikationsfunktionen

skriva ut('Multiplikationsvärdet är:',multiplikationOP())

#calling the division function

skriva ut('Divisionens värde är:',division OP())

Produktion

Vi kan utföra dessa multipla aritmetiska operationer inuti en enda generatorfunktion med flera avkastningssatser.

#ett program för att visa hur avkastningsangivelsen fungerar

#definiera en talvariabel

num1=10

#definiera en talvariabel

num2=tjugo

#creating a function to perform aritmetic operations

def mathOP():

#beräkning av summan

avkastningnum1+num2

#beräkna skillnaden

avkastningnum1-num2

#beräkna multiplikationsvärdet

avkastningnum1*num2

#beräkning av divisionsvärdet

avkastningnum1/num2

#kallar funktionen

skriva ut('Skriva ut värdena:')

#använd för loop för att komma åt värdena från generatorobjektet

förjag i matteOP():

skriva ut(i)

Produktion

Exempel 2: Avkastning mot avkastning

Låt oss se ett annat exempel på avkastnings- och avkastningsuttalanden. I det givna exemplet har vi en lista med nummer som skickas till mod () -funktionen som ett argument. Vi utför moduloperationen på varje antal listor och kontrollerar vad som är dessa nummer dividerat med 10 returnerar noll som ett restvärde.

Låt oss först implementera detta exempel i vårt Python -skript med returseddel.

#definiera en lista med nummer

min lista=[10,tjugo,25,30,35,40,femtio]

#definiera en funktion för att utföra moduloperationen

def mod(min lista):

förjag i min lista:

#presterande moduldrift

om(i%10==0):

lämna tillbakai

skriva ut(mot(min lista))

Produktion

Returseddelandet returnerar bara det första numret till den som ringer och avslutar utförandet av funktionen.

Låt oss nu implementera samma exempel i vårt Python -skript med avkastningssatsen.

#definiera en lista med nummer

min lista=[10,tjugo,25,30,35,40,femtio]

#definiera en funktion för att utföra moduloperationen

def mod(min lista):

förjag i min lista:

#presterande moduldrift

om(i%10==0):

#avkastningsdeklarationen

avkastningi

förjag i mod(min lista):

skriva ut(i)

Produktion

Slutsats

Sammanfattningsvis är avkastningen och avkastningen två inbyggda Python-nyckelord eller uttalanden. Returuttrycket används för att returnera värdet till den som ringer från en funktion och avslutar körningen av programmet, medan avkastningssatsen ger ett generatorobjekt och kan returnera flera värden till den som ringer utan att avsluta programmets körning. Denna artikel listar ner alla de framträdande skillnaderna mellan avkastnings- och avkastningsuttalanden med exempel.