yield

yield transforme une fonction en générateur : elle donne une valeur, pause, et continue quand on redemande.

Syntaxe

def path():
yield (0, 0)
yield (1, 0)
  • for x in path() : demande chaque yield. list(path()) les rassemble tous.

Exemple

def count():
    yield 1
    yield 2

print(list(count()))

Sortie :

[1, 2]

Erreurs courantes

  • return termine la fonction tout de suite, donc un second return ne s'exécute jamais. Utilise yield pour envoyer plus d'une valeur.

Pratiquer