Итерабельный объект — это объект, который можно перебирать, то есть получать его элементы по одному. В Python таким свойством обладают объекты, которые либо поддерживают метод __iter__(), возвращающий итератор, либо поддерживают метод __getitem__(), принимающий целочисленные индексы (начиная с 0).
Примеры итерабельных объектов в Python:
str)list)tuple)set)dict) (по умолчанию итерируются по ключам)range)Итерабельные объекты используются в циклах for, генераторах списков, генераторах словарей, генераторах множеств, выражениях-генераторах, а также в функциях, таких как sum(), min(), max(), sorted().
Связь между итерабельными объектами и итераторами: Итерабельный объект можно перебрать, а итератор — это объект, который выполняет сам процесс перебора. Метод __iter__() итерабельного объекта возвращает итератор для этого объекта. Итератор имеет метод __next__(), который возвращает следующий элемент последовательности. Когда элементов больше нет, __next__() возбуждает исключение StopIteration.
Пример использования итерабельного объекта в цикле for:
python
Пример явного получения итератора:
python