Python

Python-opbrengst

Python-opbrengst

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 geeft het de waarde terug aan de aanroeper en behoudt het 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 trefwoorden 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 opbrengst 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 aan het einde een waarde, terwijl yield de reeks waarden retourneert. Het slaat de waarde niet op in het geheugen en geeft de waarde tijdens runtime terug 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 rendementszoekwoord geeft de waarde van het schrikkeljaar terug aan de beller. Omdat het de waarde van een schrikkeljaar krijgt, zal het de uitvoering van het programma pauzeren, de waarde retourneren en vervolgens de uitvoering hervatten vanaf het punt waar het was gestopt.

#een generator declareren om schrikkeljaar te bepalen
def leapfunc(my_list):
voor ik in mijn_lijst:
if(i%4==0):
#rendement gebruiken
opbrengst i
#declareren van de jaarlijst
year_list=[2010,2011,2012,2016,2020,2024]
print("De schrikkeljaarwaarden afdrukken")
voor x in leapfunc(year_list):
afdrukken(x)

Uitgang:

De output toont de reeks schrikkeljaren.

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

#declareren van een generatorfunctie
def mijnfunc():
opbrengst "Mark"
opbrengst "Jan"
opbrengst "Taylor"
opbrengst "Ivan"
opbrengst 10
opbrengst 20
opbrengst 30
opbrengst 40
opbrengst 50
#aanroepen en itereren door de generatorfunctie
voor i in myfunc():
#waarden afdrukken
afdrukken (ik)

Uitgang:

Laten we een generatorfunctie implementeren om de kubuswaarde van de 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
def calcube():
val=1
#de oneindige while-lus
terwijl waar:
#rekenkubus
opbrengst val*val*val
#waarde verhogen met 1
val=val+1
print("De kubuswaarden zijn: ")
#de generatorfunctie aanroepen
voor i in calcube():
als ik>30:
breken
afdrukken (ik)

Uitgang:

De output 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 keert het terug naar de beller. Dit artikel legt de Python Yield uit met voorbeelden.

De scrollrichting van de muis en touchpads omkeren in Windows 10
Muis en Touchpads maken computergebruik niet alleen eenvoudig, maar ook efficiënter en minder tijdrovend. We kunnen ons een leven zonder deze apparate...
Hoe de muisaanwijzer en cursorgrootte, kleur en schema op Windows 10 te veranderen
De muisaanwijzer en cursor in Windows 10 zijn zeer belangrijke aspecten van het besturingssysteem. Dit geldt ook voor andere besturingssystemen, dus i...
Gratis en open source game-engines voor het ontwikkelen van Linux-games
Dit artikel behandelt een lijst met gratis en open source game-engines die kunnen worden gebruikt voor het ontwikkelen van 2D- en 3D-games op Linux. E...