


Une brève introduction à l'expression de rendement en python (avec des exemples)
Cet article vous apporte une brève introduction à l'expression de rendement en python (avec des exemples). Elle a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
L'expression de rendement est utilisée dans la fonction génératrice
Lors de l'appel de la fonction génératrice, un itérateur est renvoyé (les instructions dans la fonction ne seront pas exécutées). l'expression de rendement est exécutée,
La fonction actuelle suspend l'exécution, renvoie la valeur de l'expression à l'appelant, continue d'appeler la fonction itérateur et reprend l'exécution à partir du point de pause. ,
Lorsque vous rencontrez une expression de rendement, c'est similaire à la rencontre d'autres expressions. L'expression de rendement a également une valeur, généralement Aucune.
La différence avec les autres expressions est que l'expression rendement renvoie la valeur de l'expression à rendement
Le document officiel le décrit comme suit :
Quand une fonction génératrice est appelée , il renvoie un itérateur appelé générateur. Ce générateur contrôle ensuite l’exécution du générateur. fonction. L’exécution démarre lorsqu’une des méthodes du générateur est appelé. A ce moment-là, l'exécution passe au premier rendement. expression, où elle est à nouveau suspendue, renvoyant la valeur de expression_list à l’appelant du générateur. Par suspendu, nous entendons cela. tous les états locaux sont conservés, y compris les liaisons actuelles des états locaux les variables, le pointeur d'instruction, la pile d'évaluation interne et l'état de toute gestion d'exception lorsque l'exécution est reprise par. en appelant l’une des méthodes du générateur, la fonction peut procéder exactement comme si l'expression de rendement n'était qu'un autre appel externe. La valeur. de l'expression du rendement après la reprise dépend de la méthode utilisée a repris l'exécution. Si __next__() est utilisé (généralement via un for ou le next() intégré), alors le résultat est None. Sinon, si send() est. utilisé, le résultat sera la valeur transmise à cette méthode.
Les expressions de rendement sont autorisées n'importe où dans une construction try. le générateur n'est pas repris avant d'être finalisé (en atteignant un zéro décompte de références ou en étant ramassé), le générateur-itérateur La méthode close() sera appelée, permettant à toutes les clauses final en attente de exécuter.
Lorsque l'itérateur sous-jacent est terminé, la valeur
L'attribut de l'instance StopIteration déclenchée devient la valeur du
expression de rendement.
Exemple officiel :
>>> def echo(value=None): ... print("Execution starts when 'next()' is called for the first time.") ... try: ... while True: ... try: ... value = (yield value) ... except Exception as e: ... value = e ... finally: ... print("Don't forget to clean up when 'close()' is called.") ...>>> generator = echo(1)>>> print(next(generator)) Execution starts when 'next()' is called for the first time.1 >>> print(next(generator)) None>>> print(generator.send(2))2 >>> generator.throw(TypeError, "spam") TypeError('spam',)>>> generator.close() Don't forget to clean up when 'close()' is called.
Simuler une itérateurversiongammefonction
def my_range(start, stop=None, step=1): if not stop: stop = start start = 0 while start < stop: yield start start += step if __name__ == '__main__': for i in my_range(10): print(i) for i in my_range(0, 10): print(i) for i in my_range(0, 10, 2): print(i)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Les expressions régulières sont des outils puissants pour la correspondance des motifs et la manipulation du texte dans la programmation, améliorant l'efficacité du traitement de texte sur diverses applications.

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...
