yield
yield transforma uma função num gerador: entrega um valor, pausa e continua quando pedem outra vez.
Sintaxe
def path():yield (0, 0)yield (1, 0)
- for x in path(): pede cada yield. list(path()) junta-os todos.
Exemplo
def count():
yield 1
yield 2
print(list(count()))Saída:
[1, 2]
Erros comuns
- return termina a função de imediato, por isso um segundo return nunca corre. Usa yield para enviar mais do que um valor.