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é dans 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.
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 à placer à 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 pourrait y avoir plus d'une déclaration 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 régulière en une fonction génératrice. |
Exemple 1 : retour vs. 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 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 =10
#définir une variable numérique
num2=20
#créer une fonction pour effectuer des opérations arithmétiques
def mathOP() :
#calculer la valeur de la somme
renvoie num1+num2
#calculer la différence
renvoie num1-num2
#calculer la valeur de multiplication
renvoyer num1*num2
#calculer la valeur de division
renvoie num1/num2
#appel de la fonction
print(mathOP())
Production
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 =10
#définir une variable numérique
num2=20
#créer une fonction pour effectuer des opérations arithmétiques
def sumOP() :
#calculer la valeur de la somme
renvoie num1+num2
def soustraireOP() :
#calculer la différence
renvoie num1-num2
def multiplicationOP() :
#calculer la valeur de multiplication
renvoyer num1*num2
def divisionOP() :
#calculer la valeur de division
renvoie num1/num2
#appel de la fonction somme
print("La valeur de la somme est : ",sumOP())
#appel de la fonction de soustraction
print("La valeur de différence est : ",subtractOP())
#appel de la fonction de multiplication
print("La valeur de multiplication est : ",multiplicationOP())
#appel de la fonction de division
print("La valeur de division est : ",divisionOP())
Production
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 =10
#définir une variable numérique
num2=20
#créer une fonction pour effectuer des opérations arithmétiques
def mathOP() :
#calculer la valeur de la somme
rendement num1+num2
#calculer la différence
rendement num1-num2
#calculer la valeur de multiplication
rendement num1*num2
#calculer la valeur de division
rendement num1/num2
#appel de la fonction
print("Impression des valeurs :")
#utilisation de la boucle pour accéder aux valeurs de l'objet générateur
pour i dans mathOP() :
imprimer(i)
Production
Exemple 2 : retour vs. 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() comme 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 l'instruction return.
#définir une liste de nombresmaListe=[10,20,25,30,35,40,50]
#définir une fonction pour effectuer l'opération de module
def mod(maListe):
pour i dans myList :
#exécution de l'opération de module
si(i%10==0) :
je reviens
print(mod(maListe))
Production
L'instruction return ne renvoie que le premier numéro à l'appelant et termine l'exécution de la fonction.
Maintenant, implémentons le même exemple dans notre script Python avec l'instruction yield.
#définir une liste de nombresmaListe=[10,20,25,30,35,40,50]
#définir une fonction pour effectuer l'opération de module
def mod(maListe):
pour i dans myList :
#exécution de l'opération de module
si(i%10==0) :
#la déclaration de rendement
rendement je
pour moi dans mod(myList):
imprimer(i)
Production
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.