Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Introdução às Funções Geradoras e Yield | Python Iterators
Conceitos de Programação Funcional em Python

bookIntrodução às Funções Geradoras e Yield

Deslize para mostrar o menu

Funções geradoras são um tipo especial de função em Python que permitem criar iteradores de forma simples e legível. Diferente das funções comuns, que retornam um único valor e então encerram sua execução, funções geradoras podem pausar sua execução e retomar depois, produzindo uma série de valores um de cada vez.

Note
Definição

yield é uma palavra-chave do Python usada dentro de funções geradoras para produzir um valor e pausar o estado da função. Quando a função geradora é retomada, ela continua de onde parou.

Isso permite iterar sobre sequências um valor por vez sem criar listas intermediárias, tornando o código mais eficiente em termos de memória.

Como Funcionam as Funções Geradoras?

Uma função geradora se parece com uma função normal, mas utiliza a palavra-chave yield em vez de return. Quando o Python encontra a instrução yield, ele pausa a execução da função e envia o valor gerado de volta para quem chamou. Na próxima vez que você solicitar um valor, a função retoma exatamente de onde parou.

Como uma Função Geradora Opera

  1. Defina uma função usando def e inclua pelo menos uma instrução yield;
  2. Ao chamar a função, o código interno não é executado imediatamente. Em vez disso, ela retorna um objeto gerador;
  3. Cada vez que você solicita o próximo valor (usando next() ou um loop for), a função executa até encontrar o yield;
  4. A instrução yield retorna um valor para quem chamou e pausa o estado da função;
  5. Quando outro valor é solicitado, a função retoma após o último yield;
  6. A função continua até que não haja mais valores ou até atingir um return ou o final do código.

Benefícios de Usar Funções Geradoras:

  • Economia de memória ao produzir itens um de cada vez em vez de criar listas grandes;
  • Código legível e de fácil manutenção para fluxos de dados ou sequências;
  • Facilidade para trabalhar com conjuntos de dados infinitos ou muito grandes sem carregar tudo na memória.

Funções geradoras são uma ferramenta poderosa para processamento eficiente de dados e são essenciais para dominar o estilo de programação funcional em Python. A seguir, você verá exatamente como escrever e utilizar funções geradoras com exemplos práticos de código.

question mark

O que a palavra-chave yield faz em uma função geradora do Python?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 5. Capítulo 4
some-alt