Rendement Python vs. Retour

Python Yield Vs Return



Python est le langage de programmation généraliste largement utilisé ces derniers temps. Le rendement est un mot-clé Python intégré qui est utilisé pour créer les fonctions du générateur. Sa fonction génère une série de résultats. Il met en pause l'exécution du programme, renvoie la valeur du résultat à l'appelant et reprend l'exécution à partir du dernier rendement. En plus de cela, la fonction de rendement envoie la série de résultats générée sous la forme d'un objet générateur. D'autre part, le retour est également un mot-clé intégré à Python qui termine la fonction et renvoie la valeur à l'appelant.

Cet article décrit les différences entre le rendement et les rendements avec des exemples.







Différences entre rendement et rendement

Pour commencer, il existe de nombreuses différences importantes entre le rendement et le rendement. Discutons d'abord de ce que sont ces derniers.



Revenir Rendement
L'instruction return ne renvoie qu'une seule valeur à l'appelant. L'instruction yield peut renvoyer une série de résultats à l'appelant sous la forme d'un objet générateur.
Le retour quitte la fonction, et dans le cas d'une boucle, il rejette la boucle. C'est la dernière instruction à être placée à l'intérieur de la fonction. Il n'abolit pas les variables locales de la fonction. Il suspend l'exécution et renvoie la valeur à l'appelant, et continue l'exécution du programme à partir de la dernière instruction yield.
Logiquement, une fonction ne devrait avoir qu'une instruction return. Il peut y avoir plusieurs instructions de rendement à l'intérieur de la fonction.
L'instruction return ne peut s'exécuter qu'une seule fois. L'instruction yield peut s'exécuter plusieurs fois.
L'instruction return est placée dans une fonction Python normale. L'instruction yield convertit une fonction normale en une fonction génératrice.

Exemple 1 : Rendement contre rendement

Voyons maintenant la différence entre les déclarations return et yield à travers des exemples. Dans l'exemple de programme ci-dessous, nous avons utilisé plusieurs instructions return. Vous pouvez observer que l'exécution du programme se terminera après la première instruction return et que le reste du code ne sera pas exécuté.



#un programme pour montrer le fonctionnement de l'instruction return

#définir une variable numérique

nombre1=dix

#définir une variable numérique

nombre2=vingt

#créer une fonction pour effectuer des opérations arithmétiques

def mathOP():

#calculer la valeur de la somme

revenirnombre1+nombre2

#calculer la différence

revenirnombre1-nombre2

#calculer la valeur de multiplication

revenirnombre1*nombre2

#calculer la valeur de division

revenirnombre1/nombre2

#appel de la fonction

imprimer(mathOP())

Sortir





Dans la sortie, on peut voir que la fonction ne renvoie que la première valeur et le programme est terminé.



Pour effectuer une tâche similaire avec plusieurs instructions de retour, nous devons créer quatre fonctions différentes pour chaque type d'opération arithmétique.

#un programme pour montrer le fonctionnement de l'instruction return

#définir une variable numérique

nombre1=dix

#définir une variable numérique

nombre2=vingt

#créer une fonction pour effectuer des opérations arithmétiques

def sumOP():

#calculer la valeur de la somme

revenirnombre1+nombre2

def soustraireOP():

#calculer la différence

revenirnombre1-nombre2

def multiplicationOP():

#calculer la valeur de multiplication

revenirnombre1*nombre2

def divisionOP():

#calculer la valeur de division

revenirnombre1/nombre2

#appel de la fonction somme

imprimer(« La valeur de la somme est : »,sommeOP())

#appel de la fonction de soustraction

imprimer(« La valeur de différence est : »,soustraireOP())

#appel de la fonction de multiplication

imprimer(« La valeur de multiplication est : »,multiplicationOP())

#appel de la fonction de division

imprimer(« La valeur de division est : »,divisionOP())

Sortir

Nous pouvons effectuer ces multiples opérations arithmétiques dans une seule fonction génératrice avec plusieurs déclarations de rendement.

#un programme pour montrer le fonctionnement de la déclaration de rendement

#définir une variable numérique

nombre1=dix

#définir une variable numérique

nombre2=vingt

#créer une fonction pour effectuer des opérations arithmétiques

def mathOP():

#calculer la valeur de la somme

rendementnombre1+nombre2

#calculer la différence

rendementnombre1-nombre2

#calculer la valeur de multiplication

rendementnombre1*nombre2

#calculer la valeur de division

rendementnombre1/nombre2

#appel de la fonction

imprimer('Impression des valeurs :')

#utilisation de la boucle pour accéder aux valeurs de l'objet générateur

pourje en mathOP():

imprimer(je)

Sortir

Exemple 2 : Rendement par rapport au rendement

Voyons un autre exemple d'instructions return et yield. Dans l'exemple donné, nous avons une liste de nombres qui est passé à la fonction mod() en tant qu'argument. Nous effectuons l'opération de module sur chaque nombre de la liste et vérifions quels sont ces nombres lorsqu'ils sont divisés par 10, renvoient zéro comme valeur de reste.

Tout d'abord, implémentons cet exemple dans notre script Python avec instruction return.

#définir une liste de nombres

ma liste=[dix,vingt,25,30,35,40,cinquante]

#définir une fonction pour effectuer l'opération de module

mod de def(ma liste):

pourje dans maListe:

#exécution de l'opération de module

si(je%dix==0):

revenirje

imprimer(contre(ma liste))

Sortir

L'instruction return ne renvoie que le premier nombre à l'appelant et termine l'exécution de la fonction.

Implémentons maintenant le même exemple dans notre script Python avec l'instruction yield.

#définir une liste de nombres

ma liste=[dix,vingt,25,30,35,40,cinquante]

#définir une fonction pour effectuer l'opération de module

mod de def(ma liste):

pourje dans maListe:

#exécution de l'opération de module

si(je%dix==0):

#la déclaration de rendement

rendementje

pourje suis en mode(ma liste):

imprimer(je)

Sortir

Conclusion

En conclusion, le retour et le rendement sont deux mots-clés ou instructions Python intégrés. L'instruction return est utilisée pour renvoyer la valeur à l'appelant à partir d'une fonction et termine l'exécution du programme, tandis que l'instruction yield produit un objet générateur et peut renvoyer les valeurs multiples à l'appelant sans mettre fin à l'exécution du programme. Cet article répertorie toutes les différences importantes entre les déclarations de rendement et de rendement avec des exemples.