yield Produção do gerador

Última atualização: 2026-09-22

yield Produção do gerador

yield transforma a função em um gerador; a cada next() a função executa até o yield, retorna o valor e pausa.

CategoriaPalavras-chave e Instruções
TipoPalavra-chave / Instrução
Versão do Pythonall

📝 Sintaxe

yield [expression]

▶ Exemplo

Edite o código, clique em Executar e veja o resultado no painel de saída:

Saída:

[0, 1, 2]
Mais estudos de caso em breve — aguarde.

❓ Perguntas frequentes

QQual é a diferença entre `yield` e `return`?
A`return` encerra a função e retorna um valor; `yield` transforma a função num gerador. Cada `next()` executa até o `yield`, retorna um valor e pausa; a próxima chamada continua de onde parou.
QPor que uma função contendo `yield` não é executada quando chamada?
APorque a chamada apenas cria um objeto gerador. O corpo da função não começa a rodar de fato até o primeiro `next()` (ou um laço `for`, ou uma conversão `list()`).
QUm gerador pode ser iterado mais de uma vez?
ANão. Um gerador é descartável: uma vez esgotado, está acabado, e uma iteração posterior não produz nada. Para percorrer repetidamente, primeiro converta o resultado numa lista ou crie um novo gerador.
QO que significa `yield from`?
A`yield from iterable` é uma abreviação para `for x in iterable: yield x`. Dentro de um gerador, ele «delega» para outro iterável, produzindo os elementos um a um.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%