Coletânea Python do ZERO às Redes Neurais Artificiais

Fernando Feltrin · Capítulo 151 de 287

Páginas do PDF

Coletânea Python do ZERO às Redes Neurais Artificiais

Geradores e Iteradores

Antes de entender de fato como funcionam os métodos geradores em Python, vamos dar uma breve recapitulada no conceito de objeto iterável.

Se você chegou a este ponto, certamente sabe que quando estamos

falando de iterações estamos falando, por mais redundante que isso seja, de interações.

Logo, um objeto iterável é aquele tipo de objeto ao qual podemos interagir com seus elementos, cada elemento de sua composição.

 

Aqui, por exemplo, temos uma variável de nome minha_lista que, como

esperado, recebe como atributo uma lista de elementos.

Por meio da função hasattr( ) podemos verificar se internamente

minha_lista possui o método __iter__, lembrando que muita coisa em Python é implícita, pré-construída e pré-carregada automaticamente assim que criamos qualquer variável/objeto, classe, método/função.

Todo objeto iterável em Python internamente possui em sua composição o método __iter__ como um sinalizador para que o interpretador permita o instanciamento e uso de todo e qualquer dado deste objeto.

Sendo assim, aproveitando esse exemplo, como minha_lista é um objeto

iterável, podemos usar do laço for para que realizemos a leitura de cada um dos elementos que compõem minha_lista.

Como era de se esperar, como retorno para hasattr( ) temos True,

seguido do retorno do laço for, mostrando a cada laço um elemento de minha_lista.

 

Lembrando que um iterável por si só é um tipo de dado, em

determinados casos, podemos definir manualmente que um certo objeto é um iterador por meio de iter( ).