Позволяет определить механизм прохода (итерирования) по элементам объекта.
object.__iter__()
-> iterator

При помощи метода можно описать механизм прохода, который будет задействован в for in.

На заметку
На уровне CPython данный метод соответствует слоту tp_iter. Совместно с __next__() является частью протокола итератора.

Метод используется в:
1. В пользовательских типах-контейнерах;
2. В итераторах.

Метод должен возвращать объект итератора (в итераторах может возвращать себя же self).

На заметку
Если контейнер поддерживает разные типы итерирования, то может понадобиться определить дополнительные методы для их реализации. Примером такого контейнера может являться древовидная структура, поддерживающая как проход по графу «в глубину» (BFS), так и «в ширину» (DFS).

Синонимы поиска: object.__iter__, object, __iter__, протокол итератора
На заметку
У нас есть новостная группа в Telegram. Там же можно обсудить интересующие вопросы. Ссылка в самом низу страницы.