yield

yield trasforma una funzione in un generatore: consegna un valore, pausa e continua quando viene chiesto di nuovo.

Sintassi

def path():
yield (0, 0)
yield (1, 0)
  • for x in path(): chiede ogni yield. list(path()) li raccoglie tutti.

Esempio

def count():
    yield 1
    yield 2

print(list(count()))

Output:

[1, 2]

Errori comuni

  • return termina subito la funzione, quindi un secondo return non gira mai. Usa yield per inviare più di un valore.

Esercitati