Rendement Python

Python Yield



Yield est un mot-clé Python intégré qui renvoie la ou les valeurs d'une fonction. L'exécution de la fonction n'est pas terminée. Au contraire, il renvoie la valeur à l'appelant et maintient l'état d'exécution de la fonction. L'exécution de la fonction reprend à partir de la dernière instruction yield. Le rendement nous permet de produire une séquence de valeurs plutôt qu'une seule valeur. Il est utilisé à l'intérieur d'un corps de fonction. La fonction qui contient une déclaration de rendement est connue sous le nom de fonction génératrice.







Il y a plusieurs avantages à générer un mot-clé. Par exemple, il contrôle l'allocation de mémoire et enregistre l'état de la variable locale. Cependant, cela augmente la complexité du code.



Cet article explique l'utilisation du mot clé yield avec des exemples.



Syntaxe du rendement

La syntaxe de rendement est simple et directe. Le rendement est lancé avec le mot-clé et la syntaxe yield comme suit :





rendementvaleur

Exemples

Voyons maintenant des exemples pour comprendre l'utilisation et le fonctionnement des déclarations de rendement. Traditionnellement, le mot-clé return termine l'exécution du programme et renvoie une valeur à la fin, tandis que yield renvoie la séquence de valeurs. Il ne stocke pas la valeur en mémoire et renvoie la valeur à l'appelant au moment de l'exécution. Dans l'exemple ci-dessous, une fonction génératrice est définie pour déterminer l'année bissextile. Un saut est cette année où divisible par quatre renvoie zéro comme reste. Le mot-clé yield renvoie la valeur de l'année bissextile à l'appelant. Comme il obtiendra la valeur de l'année bissextile, il mettra en pause l'exécution du programme, renverra la valeur, puis reprendra l'exécution à partir de l'endroit où il a été arrêté.

#déclarer un générateur pour déterminer l'année bissextile
défleapfunc(ma liste):
pourjedansma liste:
si(je%4==0):
#utilisation du rendement
rendementje
#déclarer la liste des années
liste_année=[2010,2011,2012,2016,2020,2024]
imprimer('Impression des valeurs des années bissextiles')
pourXdansleapfunc(liste_année):
imprimer(X)

Sortir



La sortie montre la série d'années bissextiles.

Voyons un autre exemple où la fonction génératrice produit divers nombres et chaînes.

#déclarer une fonction génératrice
défma fonction():
rendement 'Marque'
rendement 'John'
rendement 'Taylor'
rendement 'Ivan'
rendement dix
rendement vingt
rendement 30
rendement 40
rendement cinquante
#appel et itération via la fonction génératrice
pourjedansma fonction():
#impression des valeurs
imprimer(je)

Sortir

Implémentons une fonction génératrice pour calculer et imprimer la valeur du cube de la séquence de nombres. Nous générons les valeurs de cube de 1 à 30.

#déclarer une fonction génératrice pour calculer la valeur du cube
défcalculer():
heures=1
#la boucle while infinie
tandis que Vrai:
#cube de calcul
rendementval * val * val
#incrémentation de la valeur de 1
heures=val +1
imprimer(« Les valeurs du cube sont : »)
#appel de la fonction génératrice
pourjedanscalculer():
sije>30:
Pause
imprimer(je)

Sortir

La sortie affiche la valeur du cube inférieure à 30.

Conclusion

Yield est un mot-clé Python intégré qui ne termine pas l'exécution du programme et génère une série de valeurs. Par rapport au mot-clé return, le mot-clé yield produit plusieurs valeurs et renvoie à l'appelant. Cet article explique le Python Yield avec des exemples.