Итератор и итерируемый объект
Python
Middle
Сбербанк
Объясните разницу между итерируемым объектом и итератором в Python. Как работает цикл for?
Ответы
Итерируемый и итератор
Итерируемый объект (iterable) — это объект, у которого есть __iter__(), возвращающий итератор. Примеры: list, str, dict, set.
Итератор (iterator) — объект, у которого есть методы __iter__() и __next__().
Цикл for делает примерно так:
```python
it = iter(obj) # obj.__iter__()
while True:
try:
item = next(it) # it.__next__()
except StopIteration:
break
# тело цикла
```