Pytonorm

Python Yield vs. Lämna tillbaka

Python Yield vs. Lämna tillbaka

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 siffror

myList = [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 siffror

myList = [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.

Mus Topp 5 Ergonomiska datormusprodukter för Linux
Topp 5 Ergonomiska datormusprodukter för Linux
Ger långvarig datoranvändning smärta i handleden eller fingrarna? Lider du av styva leder och måste ständigt skaka hand? Känner du en brännande smärta...
Mus Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
De flesta Linux-distributioner levereras med "libinput" -bibliotek som standard för att hantera inmatningshändelser i ett system. Den kan bearbeta inm...
Mus Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Kanske behöver du ett verktyg som kan göra att musens kontroll ändras med alla applikationer som du använder. Om så är fallet kan du prova en ansökan ...