Vamos falar sobre geradores.
Um termo-chave muito importante e um tópico bastante avançado, o que são?
Os geradores estão disponíveis em Python e nos permitem gerar uma sequência de valores ao longo do tempo.
Hmm.
O que isso significa?
Vamos explorar isso.
Veja, nós realmente aprendemos um gerador antes.
Você se lembra do alcance?
Bem, o alcance é um gerador.
Mas o que é isso?
Um gerador é um tipo especial de coisa em Python que nos permite usar uma palavra-chave especial chamada yield
e pode pausar e retomar funções.
Deixe-me demonstrar isso com um pequeno exemplo agradável que você vê quando usamos algo como intervalo.
Versus algo como lista, digamos que convertemos um intervalo em uma lista.
Igual a.
Uma lista, o que ela faz é na verdade criar uma lista gigante, digamos, de cem itens na memória
de nossos computadores, memória versus um intervalo.
Ele os cria um por um.
Deixe-me mostrar se eu crio uma função e vamos chamá-la de fazer lista.
E essa lista de marcas vai aceitar.
Um número.
E isso faz listas, bem, diremos que o resultado é igual a um array vazio, então direi para
I no intervalo de um.
Nós vamos adicionar resultado, ponto upend e vamos multiplicar por diversão, I vezes para.
E então, finalmente, retornamos o resultado.
Veja, quando fazemos uma lista como acabamos de fazer aqui, estamos essencialmente fazendo isso, estamos usando intervalo para criar
uma lista e retornar o resultado que ficará na memória.
Então, digamos que aqui com Make List, vou dizer que minha lista será igual a make list cem
quando imprimir.
Minha lista.
E eu clico em correr.
Oh, e certifique-se meu.
O parâmetro aqui é o nome certo.
E certifique-se de que posso soletrar anexar.
Pegamos nossa lista, mas essa lista aqui vive em nossa memória.
Minha lista está apontando para um local na memória.
Então, isso está ocupando espaço agora, agora, o alcance é um gerador.
E um gerador é um pouco diferente porque não é mantido na memória quando fazemos isso
for loop, este intervalo não cria sozinho uma lista gigante de, digamos, zero a noventa e nove e então começa a
iterar não com o loop for.
Vai dizer, ei, como um intervalo, vou dar-lhe primeiro o número zero, depois vou dar-lhe o
número um, depois o número dois, o número três, o número quatro até 100
Portanto, na memória, ele nunca cria essa lista como fizemos com, bem, minha lista.
E isso pode ficar muito agitado.
Direito.
Digamos que queremos criar uma lista gigante.
Agora, digamos que eu queira criar uma lista com.
Nós vamos.
Todo esse array, se eu quisesse dizer imprimir aqui.
Esta lista gigante e eu clico em executar.
Oh, cara, você vê que é muita memória que estou usando.
E assim que estiver feito.
Que ainda está acontecendo.
Só então poderei usar essa lista e ele acessará essa lista e memória.
E então podemos usá-lo.
Uma maneira mais eficiente é usar um gerador e realmente gerá-los um por vez, sem ocupar espaço
e memória.
Agora, para aprendermos como fazer isso com geradores e como realmente usá-los, precisamos ir para a próxima
lição e revisar alguns conhecimentos antigos.
Vou deixar isso ser concluído.
Enquanto isso, vejo você no próximo vídeo.
Tchau.