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: