Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Introduction aux Fonctions Génératrices et à Yield | Itérateurs Python
Techniques Python Intermédiaires

Introduction aux Fonctions Génératrices et à Yield

Glissez pour afficher le menu

Les fonctions génératrices sont un type particulier de fonction en Python qui permettent de créer des itérateurs de manière simple et lisible. Contrairement aux fonctions classiques qui renvoient une seule valeur puis s'arrêtent, les fonctions génératrices peuvent suspendre leur exécution et la reprendre plus tard, produisant ainsi une série de valeurs une à une.

Note
Définition

yield est un mot-clé Python utilisé à l'intérieur des fonctions génératrices pour produire une valeur et suspendre l'état de la fonction. Lorsque le générateur reprend, il continue là où il s'était arrêté.

Cela permet d'itérer sur des séquences valeur par valeur sans créer de listes intermédiaires, rendant le code plus efficace en mémoire.

Comment fonctionnent les fonctions génératrices ?

Une fonction génératrice ressemble à une fonction normale mais utilise le mot-clé yield au lieu de return. Lorsque Python rencontre l'instruction yield, il suspend l'exécution de la fonction et renvoie la valeur produite à l'appelant. Lorsqu'une nouvelle valeur est demandée, la fonction reprend exactement là où elle s'était arrêtée.

Fonctionnement d'une fonction génératrice

  1. Définir une fonction avec def et inclure au moins une instruction yield ;
  2. Lors de l'appel de la fonction, le code interne n'est pas exécuté immédiatement. À la place, un objet générateur est retourné ;
  3. À chaque demande de valeur suivante (avec next() ou une boucle for), la fonction s'exécute jusqu'à rencontrer yield ;
  4. L'instruction yield renvoie une valeur à l'appelant et suspend l'état de la fonction ;
  5. Lorsqu'une autre valeur est demandée, la fonction reprend après le dernier yield ;
  6. La fonction continue jusqu'à ce qu'il n'y ait plus de valeurs à produire ou qu'elle atteigne un return ou la fin de son code.

Avantages de l'utilisation des fonctions génératrices :

  • Économie de mémoire en produisant les éléments un par un au lieu de créer de grandes listes ;
  • Code lisible et maintenable pour les flux de données ou les séquences ;
  • Facilité de traitement de jeux de données infinis ou très volumineux sans tout charger en mémoire.

Les fonctions génératrices sont un outil puissant pour le traitement efficace des données et sont essentielles pour maîtriser le style de programmation fonctionnelle en Python. Ensuite, vous verrez comment écrire et utiliser concrètement des fonctions génératrices à l'aide d'exemples de code pratiques.

question mark

Que fait le mot-clé yield dans une fonction génératrice Python ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 4

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 5. Chapitre 4
some-alt