Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Funções Geradoras | Especificação do Valor de Retorno da Função
Tutorial de Funções em Python
course content

Conteúdo do Curso

Tutorial de Funções em Python

Tutorial de Funções em Python

1. O Que É uma Função em Python?
2. Argumentos Posicionais e Opcionais
3. Argumentos Arbitrários
4. Especificação do Valor de Retorno da Função
5. Recursão e Funções Lambda

book
Funções Geradoras

Uma função geradora é um tipo especial de função que usa a palavra-chave yield em vez de return para gerar uma sequência de valores. Quando uma função geradora é chamada, ela retorna um objeto iterador, que pode ser iterado para recuperar valores um de cada vez.
A principal vantagem das funções geradoras é sua eficiência de memória. As funções geradoras geram valores sob demanda, conforme necessário, em vez de gerar toda a sequência de uma vez. Isso as torna eficientes em termos de memória, especialmente ao lidar com grandes conjuntos de dados ou sequências infinitas.

Vamos ver o exemplo de um gerador simples. Esta função é um gerador que gera logins um por um a partir da lista fornecida:

12345678910111213141516
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
copy

O princípio de um gerador é que ele permite que os valores sejam retornados um de cada vez usando a palavra-chave yield, sem armazená-los todos na memória de uma vez. No nosso exemplo, o gerador unique_logins_from_list itera pela lista de logins, retornando cada um no yield e pausando nesse ponto. Quando next() é chamado, o gerador retoma de onde parou, gerando valores de forma eficiente sem precisar armazenar a lista inteira na memória simultaneamente. Isso torna os geradores particularmente úteis para lidar com grandes conjuntos de dados ou fluxos de dados.

Tarefa
test

Swipe to show code editor

Crie um gerador que gere identificadores únicos. Os identificadores podem ser, por exemplo, strings no formato "ID_1", "ID_2", e assim por diante. Cada vez que você chamar next(), o gerador deve retornar um novo identificador único.

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 4
toggle bottom row

book
Funções Geradoras

Uma função geradora é um tipo especial de função que usa a palavra-chave yield em vez de return para gerar uma sequência de valores. Quando uma função geradora é chamada, ela retorna um objeto iterador, que pode ser iterado para recuperar valores um de cada vez.
A principal vantagem das funções geradoras é sua eficiência de memória. As funções geradoras geram valores sob demanda, conforme necessário, em vez de gerar toda a sequência de uma vez. Isso as torna eficientes em termos de memória, especialmente ao lidar com grandes conjuntos de dados ou sequências infinitas.

Vamos ver o exemplo de um gerador simples. Esta função é um gerador que gera logins um por um a partir da lista fornecida:

12345678910111213141516
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
copy

O princípio de um gerador é que ele permite que os valores sejam retornados um de cada vez usando a palavra-chave yield, sem armazená-los todos na memória de uma vez. No nosso exemplo, o gerador unique_logins_from_list itera pela lista de logins, retornando cada um no yield e pausando nesse ponto. Quando next() é chamado, o gerador retoma de onde parou, gerando valores de forma eficiente sem precisar armazenar a lista inteira na memória simultaneamente. Isso torna os geradores particularmente úteis para lidar com grandes conjuntos de dados ou fluxos de dados.

Tarefa
test

Swipe to show code editor

Crie um gerador que gere identificadores únicos. Os identificadores podem ser, por exemplo, strings no formato "ID_1", "ID_2", e assim por diante. Cada vez que você chamar next(), o gerador deve retornar um novo identificador único.

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 4
Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
We're sorry to hear that something went wrong. What happened?
some-alt