generateur

Python

Anglais : generator

Concept avancé de Python. Mieux vaut bien apprendre Python avant d'essayer d'aborder cette notion. Cette notion de générateur est proche de la notion de coroutines (voir de processus) dans d'autres langages (mais de façon très originale)

On distingue :

Documentation sur les générateurs. Façon utilisateur.

Cette notion a au moins 2 utilisations :

  • Dans Python, éviter de construire d'un seul coup en mémoire, de quoi contenir un nombre important de valeurs sachant que les valeurs seront traitées, consommées une par une. C'est la fonction yield qui rend une par une ces valeurs. Mais il n'est pas obligatoirement nécessaire, de jouer avec fonctions générateurs et fonctions yield, pour cet uasge. En utilisant, la notion d'expression générateur, Python fait tout cela automatiquement.
  • Dans Simpy (l'environnement permettant de construire des simulations à événements discrets), fournir le code qui sera exécuté par un processus, sachant que, dans ce cas, la fonction yield a un paramètre dont la valeur est une unité de temps simulé.



» Glossaire du langage python