Python-opbrengst versus rendement

Python Yield Vs Return



Python is de meest gebruikte programmeertaal voor algemene doeleinden van de laatste tijd. De opbrengst is een ingebouwd Python-sleutelwoord dat wordt gebruikt om de generatorfuncties te maken. Zijn functie genereert een reeks resultaten. Het pauzeert de uitvoering van het programma, stuurt de resultaatwaarde terug naar de beller en hervat de uitvoering vanaf de laatste opbrengst. Daarnaast stuurt de opbrengstfunctie de gegenereerde reeks resultaten in de vorm van een generatorobject. Aan de andere kant is de return ook een ingebouwd sleutelwoord in Python dat de functie beëindigt en de waarde terugstuurt naar de beller.

Dit artikel schetst de verschillen tussen rendement en rendement met voorbeelden.







Verschillen tussen opbrengst en rendement

Om te beginnen zijn er veel opvallende verschillen tussen rendement en rendement. Laten we eerst bespreken wat dit zijn.



Opbrengst Opbrengst
De return-instructie retourneert slechts één waarde aan de aanroeper. De opbrengstverklaring kan een reeks resultaten naar de beller terugsturen in de vorm van een generatorobject.
De return verlaat de functie en in het geval van een lus wordt de lus gesloten. Het is de laatste instructie die in de functie moet worden geplaatst. Het schaft de lokale variabelen van de functie niet af. Het onderbreekt de uitvoering en stuurt de waarde terug naar de beller, en zet de uitvoering van het programma voort vanaf de laatste opbrengstverklaring.
Logischerwijs zou een functie alleen een return-statement moeten hebben. Er kan meer dan één opbrengstverklaring in de functie zijn.
De return-instructie kan maar één keer worden uitgevoerd. Het rendementsoverzicht kan meerdere keren worden uitgevoerd.
De return-instructie wordt in een normale Python-functie geplaatst. De opbrengstverklaring zet een reguliere functie om in een generatorfunctie.

Voorbeeld1: Rendement versus opbrengst

Laten we nu eens kijken naar het verschil tussen rendements- en rendementsverklaringen aan de hand van voorbeelden. In het onderstaande voorbeeldprogramma hebben we meerdere return-statements gebruikt. U kunt zien dat de uitvoering van het programma wordt beëindigd na de eerste return-instructie en dat de rest van de code niet wordt uitgevoerd.



#a programma om de werking van het return statement te laten zien

#definiëren van een getalvariabele

aantal1=10

#definiëren van een getalvariabele

aantal2=twintig

#een functie maken om rekenkundige bewerkingen uit te voeren

def mathOP():

#berekenen van de somwaarde

opbrengstaantal1+aantal2

#het verschil berekenen

opbrengstaantal1-aantal2

#de vermenigvuldigingswaarde berekenen

opbrengstaantal1*aantal2

#delingswaarde berekenen

opbrengstaantal1/aantal2

#de functie aanroepen

afdrukken(wiskundeOP())

Uitgang:





In de uitvoer is te zien dat de functie alleen de eerste waarde retourneert en het programma wordt beëindigd.



Om een ​​vergelijkbare taak uit te voeren met meerdere return-statements, moeten we vier verschillende functies maken voor elk type rekenkundige bewerking.

#a programma om de werking van het return statement te laten zien

#definiëren van een getalvariabele

aantal1=10

#definiëren van een getalvariabele

aantal2=twintig

#een functie maken om rekenkundige bewerkingen uit te voeren

def sumOP():

#berekenen van de somwaarde

opbrengstaantal1+aantal2

def aftrekkenOP():

#het verschil berekenen

opbrengstaantal1-aantal2

def vermenigvuldigingOP():

#de vermenigvuldigingswaarde berekenen

opbrengstaantal1*aantal2

def divisieOP():

#delingswaarde berekenen

opbrengstaantal1/aantal2

#de somfunctie aanroepen

afdrukken('De somwaarde is: ',sumOP())

#aanroepen van de aftrekfunctie

afdrukken('De verschilwaarde is: ',aftrekkenOP())

#de vermenigvuldigingsfunctie aanroepen

afdrukken('De vermenigvuldigingswaarde is: ',vermenigvuldigingOP())

#de delingsfunctie aanroepen

afdrukken('De deelwaarde is: ',divisieOP())

Uitgang:

We kunnen deze meerdere rekenkundige bewerkingen uitvoeren binnen een enkele generatorfunctie met meerdere rendementsverklaringen.

#een programma om de werking van het rendementsoverzicht te laten zien

#definiëren van een getalvariabele

aantal1=10

#definiëren van een getalvariabele

aantal2=twintig

#een functie maken om rekenkundige bewerkingen uit te voeren

def mathOP():

#berekenen van de somwaarde

opbrengstaantal1+aantal2

#het verschil berekenen

opbrengstaantal1-aantal2

#de vermenigvuldigingswaarde berekenen

opbrengstaantal1*aantal2

#delingswaarde berekenen

opbrengstaantal1/aantal2

#de functie aanroepen

afdrukken('Afdrukken van de waarden:')

#use for loop om toegang te krijgen tot de waarden van het generatorobject

voorik in wiskundeOP():

afdrukken(l)

Uitgang:

Voorbeeld 2: Rendement versus opbrengst

Laten we nog een voorbeeld bekijken van rendements- en rendementsverklaringen. In het gegeven voorbeeld hebben we een lijst met getallen die als argument aan de functie mod() wordt doorgegeven. We voeren de modulusbewerking uit op elk nummer van de lijst en controleren wat die getallen zijn wanneer ze worden gedeeld door 10 en geven nul terug als een restwaarde.

Laten we eerst dit voorbeeld implementeren in ons Python-script met return-statement.

#definiëren van een lijst met getallen

mijn lijst=[10,twintig,25,30,35,40,vijftig]

#definiëren van een functie om de modulusbewerking uit te voeren

def mod(mijn lijst):

voorik in mijnLijst:

#performing modulus operatie

indien(l%10==0):

opbrengstl

afdrukken(tegen(mijn lijst))

Uitgang:

De return-instructie retourneert alleen het eerste nummer naar de beller en beëindigt de uitvoering van de functie.

Laten we nu hetzelfde voorbeeld in ons Python-script implementeren met de opbrengstverklaring.

#definiëren van een lijst met getallen

mijn lijst=[10,twintig,25,30,35,40,vijftig]

#definiëren van een functie om de modulusbewerking uit te voeren

def mod(mijn lijst):

voorik in mijnLijst:

#performing modulus operatie

indien(l%10==0):

#het rendementsoverzicht

opbrengstl

voorik ben in de mode(mijn lijst):

afdrukken(l)

Uitgang:

Conclusie

Concluderend, het rendement en de opbrengst zijn twee ingebouwde Python-sleutelwoorden of -instructies. De return-instructie wordt gebruikt om de waarde van een functie naar de aanroeper te retourneren en beëindigt de uitvoering van het programma, terwijl de yield-instructie een generatorobject produceert en de meerdere waarden aan de aanroeper kan retourneren zonder de uitvoering van het programma te beëindigen. Dit artikel geeft een overzicht van alle prominente verschillen tussen rendements- en rendementsverklaringen met voorbeelden.