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 | Python Iterators
Concepts de Programmation Fonctionnelle en Python

bookIntroduction 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 se terminent, 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 une valeur à la fois sans créer de listes intermédiaires, rendant votre code plus économe 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. La prochaine fois qu'une 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 à l'intérieur n'est pas exécuté immédiatement. À la place, un objet générateur est renvoyé ;
  3. À chaque demande de valeur suivante (avec next() ou une boucle for), la fonction s'exécute jusqu'à atteindre 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 gestion des ensembles 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 des fonctions génératrices avec des 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