Iteradores e iteráveis
Explore o protocolo de iteradores para criar comportamentos de iteração personalizados.
Iteradores e iteráveis é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 5 de 5. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 5 aulas no total.
Introdução aos iteradores e iteráveis
Introdução aos iteradores e iteráveis
Iteradores e iteráveis são conceitos fundamentais no Python que permitem trabalhar com sequências de dados. Eles são a base dos laços, das compreensões e dos geradores.
Nesta lição, você aprenderá como os iteradores e iteráveis funcionam e como criar seus próprios iteradores.

O que é um iterável?
O que é um iterável?
Um iterável é qualquer objeto no Python que pode ser percorrido usando um laço for. Exemplos incluem listas, tuplas, conjuntos e dicionários.
# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
print(item) # Outputs: 1, 2, 3O que é um iterador?
O que é um iterador?
Um iterador é um objeto que representa um fluxo de dados. Ele implementa os métodos __iter__() e __next__().
# Example of an iterator
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1
print(next(iterator)) # Outputs: 2
print(next(iterator)) # Outputs: 3A diferença entre iteráveis e iteradores
A diferença entre iteráveis e iteradores
Os iteráveis podem ser percorridos (por exemplo, listas), enquanto os iteradores produzem um item por vez usando o método next(). Um iterável se torna um iterador quando é passado para a função iter().
Criando iteradores personalizados
Criando iteradores personalizados
Você pode criar iteradores personalizados definindo uma classe com os métodos __iter__() e __next__():
# Custom iterator example
class Counter:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current > self.end:
raise StopIteration
self.current += 1
return self.current - 1
counter = Counter(1, 5)
for number in counter:
print(number) # Outputs: 1, 2, 3, 4, 5Usando a função <code>iter()</code>
Usando a função iter()
A função iter() retorna um objeto iterador a partir de um iterável:
# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1Tratando <code>StopIteration</code>
Tratando StopIteration
Quando um iterador se esgota, ele gera uma exceção StopIteration. É assim que o Python sinaliza o fim de uma sequência.
# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)
while True:
try:
print(next(iterator))
except StopIteration:
breakIteradores versus geradores
Iteradores versus geradores
Os geradores são uma maneira mais simples de criar iteradores. Eles implementam automaticamente os métodos __iter__() e __next__().
# Example of a generator as an iterator
def my_generator():
yield 1
yield 2
yield 3
for value in my_generator():
print(value) # Outputs: 1, 2, 3Erros comuns com iteradores
Erros comuns com iteradores
Veja alguns erros que você deve evitar:
- Esquecer de implementar
__iter__()e__next__()em iteradores personalizados. - Não tratar corretamente as exceções
StopIteration. - Confundir iteradores com iteráveis.
O que aprendemos?
O que aprendemos?
Nesta lição, você aprendeu:
- A diferença entre iteráveis e iteradores.
- Como usar
__iter__()e__next__()para criar iteradores personalizados. - Como usar a função
iter()e tratar exceçõesStopIteration. - Como os geradores simplificam a criação de iteradores.
Muito bem! Vamos passar ao próximo tópico.

Perguntas Frequentes
A aula “Iteradores e iteráveis” é grátis?
Sim — o texto completo de “Iteradores e iteráveis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 5 aulas no total.
O que vou aprender em “Iteradores e iteráveis”?
Explore o protocolo de iteradores para criar comportamentos de iteração personalizados. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 5 de 5.
Quanto tempo leva a aula “Iteradores e iteráveis”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Decoradores
- Geradores
- Gerenciadores de contexto (instruções with)
- Compreensões (de listas, conjuntos e dicionários)
- Iteradores e iteráveis