- en
 - Language: ru
 
- Documentation version: latest
 
Итерируемый объект
Итерация - это общий термин, который описывает процедуру взятия элементов чего-то по очереди.
В более общем смысле, это последовательность инструкций, которая повторяется определенное количество раз или до выполнения указанного условия.
Итерируемый объект (iterable) - это объект, который способен возвращать элементы по одному. Кроме того, это объект, из которого можно получить итератор.
Примеры итерируемых объектов:
все последовательности: список, строка, кортеж
словари
файлы
В Python за получение итератора отвечает функция iter():
In [1]: lista = [1, 2, 3]
In [2]: iter(lista)
Out[2]: <list_iterator at 0xb4ede28c>
Функция iter() отработает на любом объекте, у которого есть метод
__iter__ или метод __getitem__.
Метод __iter__ возвращает итератор. Если этого метода нет,
функция iter() проверяет, нет ли метода __getitem__ - метода,
который позволяет получать элементы по индексу.
Если метод __getitem__ есть, возвращается итератор, который
проходится по элементам, используя индекс (начиная с 0).
На практике использование метода __getitem__ означает, что все
последовательности элементов - это итерируемые объекты. Например,
список, кортеж, строка. Хотя у этих типов данных есть и метод
__iter__.