Python-opbrengst

Python Yield



Yield is een ingebouwd sleutelwoord van Python dat de waarde(n) van een functie retourneert. De uitvoering van de functie wordt niet beëindigd. In plaats daarvan retourneert het de waarde naar de aanroeper en handhaaft de uitvoeringsstatus van de functie. De uitvoering van de functie wordt hervat vanaf de laatste opbrengstverklaring. De opbrengst stelt ons in staat om een ​​reeks waarden te produceren in plaats van één waarde. Het wordt gebruikt in een functielichaam. De functie die een opbrengstverklaring bevat, staat bekend als de generatorfunctie.







Er zijn verschillende voordelen om zoekwoord op te leveren. Het regelt bijvoorbeeld de geheugentoewijzing en slaat de status van de lokale variabele op. Het verhoogt echter de complexiteit van de code.



In dit artikel wordt het gebruik van het trefwoord yield uitgelegd met voorbeelden.



Syntaxis van opbrengst

De opbrengstsyntaxis is eenvoudig en duidelijk. De opbrengst wordt als volgt gestart met het trefwoord opbrengst en de syntaxis:





opbrengstwaarde

Voorbeelden

Laten we nu voorbeelden bekijken om het gebruik en de werking van rendementsverklaringen te begrijpen. Traditioneel beëindigt het return-sleutelwoord de uitvoering van het programma en retourneert het een waarde aan het einde, terwijl yield de reeks waarden retourneert. Het slaat de waarde niet op in het geheugen en retourneert de waarde tijdens runtime aan de beller. In het onderstaande voorbeeld is een generatorfunctie gedefinieerd om het schrikkeljaar te bepalen. Een sprong is dat jaar wanneer deelbaar door vier nul oplevert als rest. Het yield-trefwoord retourneert de waarde van het schrikkeljaar aan de beller. Omdat het de waarde van een schrikkeljaar krijgt, zal het de uitvoering van het programma pauzeren, de waarde retourneren en de uitvoering hervatten vanaf het punt waar het was gestopt.

#een generator declareren om schrikkeljaar te bepalen
zekerhaasje-over(mijn lijst):
voorlinmijn lijst:
indien(l%4==0):
#rendement gebruiken
opbrengstl
#declareren van de jaarlijst
year_list=[2010,2011,2012,2016,2020,2024]
afdrukken('De schrikkeljaarwaarden afdrukken')
voorxinhaasje-over(year_list):
afdrukken(x)

Uitgang:



De output toont de reeks schrikkeljaren.

Laten we een ander voorbeeld bekijken waarbij de generatorfunctie verschillende getallen en tekenreeksen oplevert.

#declareren van een generatorfunctie
zekermijn functie():
opbrengst 'Markering'
opbrengst 'John'
opbrengst 'Taylor'
opbrengst 'Ivan'
opbrengst 10
opbrengst twintig
opbrengst 30
opbrengst 40
opbrengst vijftig
#aanroepen en itereren door de generatorfunctie
voorlinmijn functie():
#waarden afdrukken
afdrukken(l)

Uitgang:

Laten we een generatorfunctie implementeren om de kubuswaarde van een reeks getallen te berekenen en af ​​te drukken. We genereren de kubuswaarden van 1 tot 30.

#declareren van een generatorfunctie om de kubuswaarde te berekenen
zekerrekenmachine():
uur=1
#de oneindige while-lus
terwijl Waar:
#rekenkubus
opbrengstval * val * val
#waarde verhogen met 1
uur=val +1
afdrukken('De kubuswaarden zijn: ')
#de generatorfunctie aanroepen
voorlinrekenmachine():
indienl>30:
pauze
afdrukken(l)

Uitgang:

De uitvoer toont de kubuswaarde kleiner dan 30.

Conclusie

Yield is een ingebouwd sleutelwoord van Python dat de uitvoering van het programma niet beëindigt en een reeks waarden genereert. In vergelijking met het return-trefwoord produceert het yield-trefwoord meerdere waarden en retourneert het naar de beller. Dit artikel legt de Python Yield uit met voorbeelden.