Встречается на 4% собеседований по Python
Как реализован итератор в Python
В Python итератор — это объект, который реализует протокол итератора, состоящий из двух методов:
__iter__()— возвращает сам объект итератора__next__()— возвращает следующий элемент или вызываетStopIteration
Пример простого итератора:
python
class Counter:
def __init__(self, low, high):
self.current = low
self.high = high
text
def __iter__(self):
return self
def __next__(self):
if self.current > self.high:
raise StopIteration
else:
self.current += 1
return self.current - 1Использование
for num in Counter(1, 5):
print(num) # 1, 2, 3, 4, 5
text
Также можно создавать итераторы с помощью генераторов (функций с `yield`), что часто проще:
```python
def counter(low, high):
current = low
while current <= high:
yield current
current += 1Встроенные типы (list, dict, set и др.) уже реализуют протокол итератора.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы