Différence entre le rendement python et le retour python

Différence entre le rendement python et le retour python

L'instruction de rendement est utilisée pour définir les générateurs en python. Donc, avant d'entrer dans ce que fait exactement le rendement, nous devons d'abord comprendre le concept de générateurs. Les générateurs ont un rôle important dans Python et si vous êtes profondément dans la programmation Python, alors vous avez déjà travaillé avec des générateurs Python. Les générateurs sont utilisés pour créer des itérateurs dans Python, mais avec une approche différente.

Un générateur de python est des fonctions qui produisent une séquence de résultats et peuvent être interrompues et reprendre dynamiquement. Les générateurs ont d'abord été ajoutés comme une fonctionnalité facultative dans Python 2.2 et a rendu standard dans Python 2.3. Bien qu'ils soient assez puissants, les fonctions des générateurs ont été significativement améliorées dans Python 2.5.

Lorsque des générateurs ont été ajoutés dans Python 2.2, il a introduit un nouveau mot-clé «rendement» pour la compatibilité vers l'arrière, pour lequel nous devions importer des générateurs à partir du module _future_ afin de les utiliser. Cela a été changé dans la version 2 Python.3 Lorsque les générateurs sont devenus standard et ce n'était plus nécessaire.

L'instruction de rendement suspend l'exécution d'une fonction et renvoie une valeur à l'appelant, tout en enregistrant l'état et en reprenant plus tard le sens du générateur entier lui-même peut toujours être repris après l'obtention de la valeur de retour. Une instruction de retour met fin à l'exécution de la fonction et renvoie une valeur à l'appelant. Sans ça, votre fonction ne renvoie rien. Voyons bien quand utiliser le rendement et quand utiliser le retour en python pour mieux comprendre la différence entre les deux.

Qu'est-ce que le rendement python?

L'instruction de rendement est utilisée dans les générateurs Python pour remplacer le retour d'une fonction pour renvoyer une valeur à son appelant sans détruire les variables locales. Pour mieux comprendre quel rôle l'énoncé de rendement joue dans la programmation Python, vous devez comprendre quels sont les générateurs.

Les fonctions du générateur sont produites par définition comme des fonctions régulières mais contiennent une instruction «rendement». Cela commence par le mot-clé «rendement» qui spécifie l'objet générateur à retourner à l'appelant. Un générateur est une fonction spéciale dans Python qui renvoie un objet générateur à l'appelant plutôt qu'une valeur de données. Le mot-clé de rendement a la capacité unique d'arrêter l'exécution de la fonction, d'épargner l'état et de reprendre plus tard.

Qu'est-ce que Python Retour?

L'instruction de retour, contrairement à l'instruction de rendement, sort d'une fonction, remettant une valeur à son appelant. Les fonctions renvoient une valeur à leurs appelants et celles qui sont de nature plus procédurale ne renvoient rien du tout du tout. Alors qu'une fonction peut avoir plusieurs instructions de retour, une seule d'entre elles peut être appelée pour une invocation donnée de la fonction.

En règle générale, une instruction de retour apparaît à la toute fin d'un bloc de fonction pour renvoyer le résultat final de l'exécution de toutes les instructions contenues dans cette fonction. Cependant, il peut également apparaître plus tôt dans le bloc fonction pour arrêter l'exécution de toutes les instructions suivantes dans ce bloc. Cela reprend immédiatement l'exécution du programme à l'appelant. Lorsqu'aucune valeur n'est spécifiée, le type d'objet de retour équivalent dans Python est «aucun».

Différence entre le rendement et le retour Python

  1. Bases liées au rendement et au retour Python

    • L'instruction de rendement est utilisée dans les générateurs Python pour remplacer le retour d'une fonction pour renvoyer une valeur à son appelant sans détruire les variables locales. Un générateur est une fonction spéciale dans Python qui renvoie un objet générateur à l'appelant plutôt qu'une valeur de données.
    • L'instruction de retour, contrairement à l'instruction de rendement, sort d'une fonction, remettant une valeur à son appelant. En règle générale, une instruction de retour apparaît à la toute fin d'un bloc de fonction pour renvoyer le résultat final de l'exécution de toutes les instructions contenues dans cette fonction. Toutes les fonctions renvoient une valeur et s'il n'y a pas de valeur spécifiée, il renverra «aucun».
  1. Générateurs vs. Fonctions dans le rendement et le retour Python

    • L'instruction de rendement est explicitement utilisée avec les générateurs Python. Syntaxiquement, un générateur est une fonction avec une instruction de rendement. Alors qu'une fonction peut avoir plusieurs instructions de retour, une seule d'entre elles peut être appelée pour une invocation donnée de la fonction.
    • Contrairement à une fonction qui ne revient qu'une seule fois, les générateurs peuvent arrêter l'exécution et donner des résultats intermédiaires. Chaque générateur est défini comme une fonction, mais au lieu du mot clé de retour, le mot clé de rendement est utilisé à l'intérieur du bloc de fonction pour indiquer que la valeur de retour est uniquement temporaire et que le générateur entier peut être repris même après l'obtention de la valeur de retour.
  1. Exécution du rendement et rendement python

    • L'instruction de retour met fin à l'exécution d'une fonction et renvoie une valeur à son appelant. Les fonctions renvoient une valeur à leurs appelants et celles qui sont de nature plus procédurale ne renvoient rien du tout du tout. Ce qui est essentiellement fait, c'est sortir d'une fonction et détruire toutes les valeurs locales à l'intérieur.
    • L'instruction de rendement, en revanche, remplace la valeur de retour d'une fonction pour suspendre son exécution et renvoie la valeur à son appelant sans détruire les variables locales. Cependant, contrairement à la fonction de retour, le rendement reprend l'exécution de la fonction d'où elle a été laissée.

Rendement python vs. Retour: tableau de comparaison

Résumé du rendement et du retour Python

Syntaxiquement, le rendement est un mot-clé qui peut être utilisé comme le mot clé de retour, sauf l'instruction de retour met fin à l'exécution de votre fonction et renvoie une valeur à son appelant. La fonctionnalité de l'instruction de retour consiste à prendre des entrées et à renvoyer quelque chose à l'appelant. Contrairement à une déclaration de retour, le rendement est explicitement utilisé pour définir les générateurs, en remplacement de la valeur de retour d'une fonction pour suspendre son exécution en gardant les variables locales intactes, tandis que l'instruction de retour détruit toutes les variables locales à l'intérieur.