ExpertiDict

Python · Intermediário · Inglês · Técnico

yield

/jild/palavra-chave

Palavra-chave que transforma uma função em generator: ela devolve um valor, pausa guardando seu estado e continua de onde parou na próxima iteração.

Onde usar

Aparece em funções que produzem sequências grandes ou infinitas, como ler linhas de um arquivo. A diferença para o return é que o yield não encerra a função.

Em código

def pares(limite):
  for n in range(0, limite, 2):
    yield n

g = pares(5)
print(next(g), next(g))

Exemplos

Use yield so we don't build the whole list.

Use yield para não montar a lista inteira.

Calling a function with yield returns a generator object.

Chamar uma função com yield devolve um objeto generator.

Cuidado

Uma função com yield não executa nada quando chamada; ela só devolve o generator, e o corpo roda conforme os valores são pedidos.

Antônimos

return

Origem

Do inglês to yield, produzir, ceder.

Veja também

Todos os termos de Python