Python är det allmänt använda allmänna programmeringsspråket under senare tid. Avkastningen är ett inbyggt Python-nyckelord som används för att skapa generatorfunktionerna. Dess funktion genererar en serie resultat. Det pausar körningen av programmet, skickar resultatvärdet tillbaka till den som ringer och återupptar körningen från den senaste avkastningen. Förutom det skickar avkastningsfunktionen den genererade serien av resultat i form av ett generatorobjekt. Å andra sidan är returen också ett inbyggt nyckelord 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 |
---|---|
Returuttalningen returnerar endast ett enda värde till den som ringer. | Avkastningsuttalandet kan returnera en serie resultat till den som ringer i form av ett generatorobjekt. |
Returen avslutar funktionen och i fallet med en slinga avvisar den slingan. Det är det sista uttalandet som placeras i 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 det senaste avkastningsuttalandet. |
Logiskt sett bör en funktion endast ha ett returuttalande. | Det kan finnas mer än ett avkastningsuttalande inne i funktionen. |
Returuttalandet kan bara köras en gång. | Avkastningsuttalandet kan köras flera gånger. |
Returuttalandet placeras i en vanlig Python-funktion. | Avkastningsuttalandet omvandlar en vanlig funktion till en generatorfunktion. |
Exempel 1: Återvänd vs. Avkastning
Låt oss nu se skillnaden mellan avkastnings- och avkastningsuttalanden genom exempel. I exempelprogrammet nedan har vi använt flera returuttalanden. Du kan observera att körningen av programmet avslutas efter det första returuttalandet, och resten av koden kommer inte att köras.
# ett program för att visa hur returneringsuttalandet fungerar#definiera en talvariabel
num1 = 10
#definiera en talvariabel
num2 = 20
# skapar en funktion för att utföra aritmetiska operationer
def mathOP ():
#beräknar summan
returnera num1 + num2
#beräknar skillnaden
returnera num1-num2
#beräknar multiplikationsvärdet
returnera num1 * num2
#beräknar delningsvärdet
returnera num1 / num2
# ringer funktionen
skriva ut (mathOP ())
Produktion
I utgången 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 returuttalanden måste vi skapa fyra olika funktioner för varje typ av aritmetisk operation.
# ett program för att visa hur returneringsuttalandet fungerar#definiera en talvariabel
num1 = 10
#definiera en talvariabel
num2 = 20
# skapar en funktion för att utföra aritmetiska operationer
def sumOP ():
#beräknar summan
returnera num1 + num2
def subtrahera OP ():
#beräknar skillnaden
returnera num1-num2
def multiplicationOP ():
#beräknar multiplikationsvärdet
returnera num1 * num2
def divisionOP ():
#beräknar delningsvärdet
returnera num1 / num2
#calling summan-funktionen
print ("Summan är:", sumOP ())
# ringer subtraktionsfunktionen
print ("Skillnadsvärdet är:", subtrahera OP ())
#calling multiplikationsfunktionen
print ("Multiplikationsvärdet är:", multiplicationOP ())
# ringer uppdelningsfunktionen
print ("Delningsvärdet är:", divisionOP ())
Produktion
Vi kan utföra dessa flera aritmetiska operationer i en enda generatorfunktion med flera avkastningsuttalanden.
# ett program för att visa hur avkastningsdeklarationen fungerar#definiera en talvariabel
num1 = 10
#definiera en talvariabel
num2 = 20
# skapar en funktion för att utföra aritmetiska operationer
def mathOP ():
#beräknar summan
avkastning num1 + num2
#beräknar skillnaden
avkastning num1-num2
#beräknar multiplikationsvärdet
avkastning num1 * num2
#beräknar delningsvärdet
avkastning num1 / num2
# ringer funktionen
print ("Skriva ut värdena:")
# använder för loop för att komma åt värdena från generatorobjektet
för jag i mathOP ():
skriva ut (i)
Produktion
Exempel 2: Återvänd vs. Avkastning
Låt oss se ett annat exempel på avkastnings- och avkastningsuttalanden. I det givna exemplet har vi en lista med siffror som skickas till mod () -funktionen som ett argument. Vi utför moduloperationen på varje antal listor och kontrollerar vilka siffror när de divideras med 10 returnerar noll som restvärde.
Låt oss först implementera detta exempel i vårt Python-skript med returuttalande.
#definiera en lista med siffrormyList = [10,20,25,30,35,40,50]
#definiera en funktion för att utföra moduloperationen
def mod (myList):
för jag i myList:
#performing modulus operation
om (i% 10 == 0):
returnera i
skriva ut (mod (myList))
Produktion
Returuttalningen 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 avkastningsuttalandet.
#definiera en lista med siffrormyList = [10,20,25,30,35,40,50]
#definiera en funktion för att utföra moduloperationen
def mod (myList):
för jag i myList:
#performing modulus operation
om (i% 10 == 0):
# avkastningsuttalandet
avkastning i
för jag i mod (myList):
skriva ut (i)
Produktion
Slutsats
Sammanfattningsvis är avkastningen och avkastningen två inbyggda Python-nyckelord eller uttalanden. Returuttalandet används för att returnera värdet till den som ringer från en funktion och avslutar genomförandet av programmet, medan avkastningsuttalandet ger ett generatorobjekt och kan returnera flera värden till den som ringer utan att avsluta körningen av programmet. I den här artikeln listas alla framträdande skillnader mellan avkastning och avkastning med exempel.