yield

yield convierte una función en un generador: entrega un valor, pausa y continúa cuando se le vuelve a pedir.

Sintaxis

def path():
yield (0, 0)
yield (1, 0)
  • for x in path(): pide cada yield. list(path()) los recoge todos.

Ejemplo

def count():
    yield 1
    yield 2

print(list(count()))

Salida:

[1, 2]

Errores comunes

  • return termina la función de inmediato, así que un segundo return nunca se ejecuta. Usa yield para enviar más de un valor.

Practícalo