Iteradores são objetos que permitem percorrer coleções de dados, como listas, tuplas e dicionários, de forma sequencial. Eles implementam dois métodos essenciais: __iter__() e __next__(). O primeiro retorna o próprio iterador, e o segundo retorna o próximo valor da sequência. Quando não há mais elementos, uma exceção StopIteration é levantada.
Exemplo:
class MeuIterador: def __init__(self, limite): self.limite = limite self.valor = 0 def __iter__(self): return self def __next__(self): if self.valor < self.limite: self.valor += 1 return self.valor else: raise StopIteration for numero in MeuIterador(5): print(numero)
Saída:
1 2 3 4 5