Как сделать свой объект итерируемым?
Уровень: Senior
Ответ
Нужно реализовать метод __iter__ в классе, который должен возвращать итератор (объект с методом __next__). Чаще всего класс делает сам себя итератором: __iter__ возвращает self, а также определяется метод __next__, который возвращает следующий элемент или бросает StopIteration при конце последовательности. Тогда экземпляры класса можно использовать в цикле for. Альтернативно, __iter__ может возвращать отдельный объект-итератор, определённый в классе или вне его.