Python

Rendement Python

Rendement Python

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 :

valeur de rendement

Exemples

Voyons maintenant des exemples pour comprendre l'utilisation et les travaux 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
def leapfunc(my_list):
pour moi dans ma_liste :
si(i%4==0) :
#utilisation du rendement
rendement je
#déclarer la liste des années
year_list=[2010,2011,2012,2016,2020,2024]
print("Impression des valeurs des années bissextiles")
pour x dans leapfunc(year_list):
imprimer(x)

Production

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
def myfunc() :
donner "Marc"
donner "John"
donner "Taylor"
céder "Ivan"
rendement 10
rendement 20
rendement 30
rendement 40
rendement 50
#appel et itération via la fonction génératrice
pour moi dans myfunc() :
#impression des valeurs
imprimer(i)

Production

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
def calcube() :
valeur=1
#la boucle while infinie
tant que vrai :
#cube de calcul
rendement val*val*val
#incrémentation de la valeur de 1
val=val+1
print("Les valeurs du cube sont : ")
#appel de la fonction génératrice
pour i dans calcube() :
si je>30 :
Pause
imprimer(i)

Production

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.

Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...