Back to questions
Junior — Middle
48
Каким образом реализуется паттерн Итератор и для чего он применяется в программировании?
Answer from AI
sobes.tech AI
Паттерн Итератор позволяет последовательно обходить элементы коллекции без раскрытия её внутренней структуры. В Python итератор реализуется через методы __iter__() и __next__().
Применяется для удобного и универсального перебора элементов, например, в цикле for.
Пример реализации итератора для пользовательского класса:
class MyRange:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current >= self.end:
raise StopIteration
val = self.current
self.current += 1
return val
for i in MyRange(1, 5):
print(i) # Выведет числа от 1 до 4
Таким образом, итератор инкапсулирует логику обхода, позволяя клиентскому коду работать с разными коллекциями единообразно.