Протокол итератора проверяет понимание того, как Python делает for, next() и ленивые обходы коллекций.
Короткий ответ
Протокол итератора — это набор правил, по которым объект можно последовательно “перебирать”.
Объект-итерабельный должен уметь отдавать итератор через __iter__().
Итератор должен уметь возвращать следующий элемент через __next__() и бросать StopIteration, когда элементы закончились.
Цикл for автоматически использует эти методы: получает итератор и вызывает next() до завершения.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.