Junior — Middle
Qual é o resultado da execução do método __iter__ em Python?
sobes.tech IA
Resposta da IA
O método __iter__ em Python devolve um iterador do objeto. Este iterador deve implementar o método __next__, que a cada chamada devolve o próximo elemento da sequência, e ao atingir o fim, levanta uma exceção StopIteration.
Assim, a chamada iter(obj) invoca obj.__iter__(), e o objeto retornado é usado em ciclos for e outras construções que trabalham com iteradores.
Exemplo:
class MyRange:
def __init__(self, n):
self.n = n
def __iter__(self):
self.current = 0
return self
def __next__(self):
if self.current < self.n:
val = self.current
self.current += 1
return val
else:
raise StopIteration
for i in MyRange(3):
print(i)
# Vai mostrar:
# 0
# 1
# 2