Sobes.tech
Back to questions
Junior — Middle
74

Можете объяснить, что такое итерационный протокол и для чего он используется в программировании?

Companies where asked
РунитиРунити

Answer from AI

sobes.tech AI

Итерационный протокол в программировании — это соглашение, которое позволяет объектам быть перебираемыми в циклах, например, в Python с помощью for. Объект, реализующий итерационный протокол, должен предоставлять метод __iter__(), возвращающий итератор, и итератор должен иметь метод __next__(), который возвращает следующий элемент или вызывает исключение StopIteration, когда элементы закончились.

Это используется для удобного и эффективного обхода коллекций данных, генераторов и других последовательностей без необходимости знать внутреннюю структуру объекта.

Пример простого итератора в Python:

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:
            self.current += 1
            return self.current
        else:
            raise StopIteration

for number in CountUpTo(5):
    print(number)