Iteradores Python: o que é Iterador em Python e como usá-lo?



Neste blog sobre iteradores Python, faremos um estudo aprofundado sobre Iteradores em Python e como eles são implementados.

A linguagem de programação Python escalou cada aspecto da inovação, incluindo , , , etc. Uma das muitas razões para esse feito são conceitos como Iteradores do Python, conceitos como esses são os blocos de construção do triunfo do Python como linguagem de programação. Neste artigo, examinaremos os seguintes conceitos para entender os Iteradores Python:

Iteradores vs Iteráveis

Um objeto em Python, que pode ser usado como um objeto Iterable, é chamado de Iterable. Isso basicamente significa que a sequência no objeto pode ser iterada. A maioria das coleções Python como um Lista , , tupla , conjuntos , e até mesmo alcance pode ser tratado como um Iterável.





O que são iteradores Python?

A Python I terator é um contêiner contendo um número contável de valores. Os valores em um contêiner podem ser percorridos usando Iteradores - principalmente listas.

Além da travessia, os iteradores também dão acesso aos elementos de dados em um contêiner, mas não realizamiteraçãoou seja, não sem alguma liberdade significativa tomada com esse conceito ou com o uso trivial da terminologia. Um Iterador é quase semelhante a umcursor de banco de dadosno comportamento. Aqui está um exemplo simples do Iterador em .



meu_obj = {'Edureka', 'Python', 'iterador'} iter_obj = iter (meu_obj) imprimir (próximo (iter_obj))

Resultado: Edureka

Iterator é qualquer tipo de Python que pode ser usado com um 'for in loop'.Qualquer objeto a ser usado como Agente Iterativo deve implementar os métodos a seguir.

iteradores em python - edureka



1. __iter __ ()

É chamado na inicialização de um Iterador.Ele deve retornar um objeto que possui um método next ou __next__.

2. __next __ ()

O próximo método do Iterator retorna o próximo valor para o Iterable.

Quando um Iterador é usado com um loop ‘for in’, next () é implicitamente chamado por no objeto Iterator. Este método deve usar um StopIteration para sinalizar o fim da iteração.Juntos, esses dois métodos são chamados de Protocolo do Iterador. Vamos tentar entender como um loop for atua como um iterador em Python com um exemplo.

para i no objeto: print (i)

Vamos entender como o loop for funciona como um Iterador.

# crie um objeto iterador a partir desse iter_obj = iter (iterável) # loop infinito enquanto True: try: # get the next item element = next (iter_obj) # faça algo com o elemento exceto StopIteration: # se StopIteration for gerado, interrompa o loop pausa

Agora que sabemos, como o para loop funciona como um Iterador. Vamos entender como podemos implementar Iteradores personalizados em Python.

Iteradores personalizados

Agora, vamos dar uma olhada em como podemos implementar Iteradores personalizados em Python. Para entender isso, usaremos um exemplo. Neste exemplo, implementaremos os métodos __iter __ () e __next __ ().

class MyNumbers: def __iter __ (self): self.a = 1 return self def __next __ (self): x = self.a self.a + = 1 return x myclass = MyNumbers () myiter = iter (myclass) print (next ( myiter)) print (next (myiter)) print (next (myiter))

Resultado: 1

2

3

Agora que sabemos como podemos implementar Iteradores personalizados, vamos dar uma olhada nos infinitos Iteradores em Python.

Iteradores infinitos

Nem sempre é obrigatório que o item em um objeto Iterator tenha que esgotar. Pode haver infinitos Iteradores (que nunca termina). Aqui está um exemplo básico para demonstrar iteradores infinitos.

O embutido iter ()pode ser chamado com dois argumentos onde o primeiro argumento deve ser um objeto (função) que pode ser chamado e o segundo é a sentinela. O Agente Iterativo chama esta função até que o valor retornado se torne igual ao da sentinela.

Vamos dar um exemplo para entender isso

class MyNumbers: def __iter __ (self): self.a = 1 return self def __next __ (self): x = self.a self.a + = 1 return x myclass = MyNumbers () myiter = iter (myclass) print (next ( myiter)) print (next (myiter)) print (next (myiter)) print (next (myiter)) print (next (myiter))

Resultado: 1
2
3
4
5

No exemplo acima, a execução continuará enquanto continuarmos adicionando a instrução print. Para interromper os infinitos Iteradores, precisamos usar a instrução stopIteration.

aprender ssis passo a passo

StopIteration

Para impedir que uma Iteração continue para sempre, usamos a instrução StopIteration. Vamos entender isso com alguns exemplos.

class MyNumbers: def __iter __ (self): self.a = 1 return self def __next __ (self): if self.a & ampampamplt = 5: x = self.a self.a + = 1 return x else: raise StopIteration myclass = MyNumbers () myiter = iter (myclass) para x em myiter: print (x)

Resultado: 1
2
3
4
5

Agora assim que o condição for falsa, a execução passará para o bloco else e a iteração será interrompida. Agora, vamos dar uma olhada em alguns outros exemplos de Iteradores em Python.

Exemplos de iterador Python

Aqui estão mais alguns exemplos de Iteradores em Python.

meu_obj = ['Edureka', 'python', 'iterador'] iter_obj = iter (meu_obj) imprimir (próximo (iter_obj))

Resultado: Edureka

Neste exemplo, usamos a tupla como o objeto iterável.

meu_obj = ('Edureka', 'python', 'iterador') iter_obj = iter (meu_obj) imprimir (próximo (iter_obj))

Resultado: Edureka

Podemos até usar a string como um objeto iterável em python.

meu_obj = 'Edureka' iter_obj = iter (meu_obj) imprimir (próximo (iter_obj))

Resultado: É

Isso nos leva ao final deste artigo, onde aprendemos como usamos os Iteradores Python com exemplos. Espero que você tenha esclarecido tudo o que foi compartilhado com você neste tutorial.

Se você achou este artigo sobre 'Iteradores Python' relevante, verifique uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.

Estamos aqui para ajudá-lo em cada etapa de sua jornada e criar um currículo projetado para estudantes e profissionais que desejam ser um . O curso foi desenvolvido para dar a você uma vantagem inicial na programação Python e treiná-lo para os conceitos básicos e avançados do Python, juntamente com vários gostar

Se você tiver alguma dúvida, sinta-se à vontade para fazer todas as suas perguntas na seção de comentários de “Iteradores Python”. Nossa equipe terá prazer em responder.