Junior — Middle
Python итераторларында __next__ әдісі қалай жұмыс істейтінін түсіндіре аласыз ба?
sobes.tech AI
AI-дан жауап
Python-да __next__ әдісі — итератор протоколының негізгі элементі. Ол итератордан келесі элементті алу үшін шақырылады. Егер әлі де элементтер болса, әдіс келесі элементті қайтарады; егер элементтер аяқталса, ол StopIteration қателігін шақыруы керек, бұл итерацияның аяқталғанын көрсетеді.
Қарапайым итератор мысалы:
class Counter:
def __init__(self, limit):
self.current = 0
self.limit = limit
def __iter__(self):
return self
def __next__(self):
if self.current < self.limit:
self.current += 1
return self.current
else:
raise StopIteration
for num in Counter(3):
print(num) # Нәтижесінде 1, 2, 3 шығады
Осылайша, __next__ коллекция элементтеріне ретті түрде қол жеткізуді немесе мәндерді генерациялауды басқарады.