Junior — Middle
Do czego służy metoda __next__ w iteratorach Pythona?
sobes.tech AI
Odpowiedź od AI
Metoda __next__ w iteratorach Pythona służy do pobierania kolejnego elementu sekwencji. Wywołanie next() na iteratorze Pythona wywołuje jego metodę __next__, która zwraca następny element. Jeśli nie ma więcej elementów, metoda powinna rzucić wyjątek StopIteration, aby zasygnalizować koniec iteracji.
Przykład implementacji prostego iteratora:
class CountUpTo:
def __init__(self, max):
self.max = max
self.current = 0
def __iter__(self):
return self
def __next__(self):
if self.current >= self.max:
raise StopIteration
self.current += 1
return self.current
counter = CountUpTo(3)
for number in counter:
print(number) # Wypisze 1, 2, 3