Встречается на 1% собеседований по Python
Какие методы нужно определить, чтобы создать собственный итератор
Чтобы создать собственный итератор в Python, нужно определить два метода в классе: __iter__() и __next__().
__iter__()должен возвращать сам объект итератора (обычноself).__next__()должен возвращать следующее значение или вызыватьStopIteration, если элементы закончились.
Пример:
python
class CountDown:
def __init__(self, start):
self.current = start
def __iter__(self):
return self
def __next__(self):
if self.current <= 0:
raise StopIteration
num = self.current
self.current -= 1
return num
for num in CountDown(3):
print(num) # 3, 2, 1Если нужен только итерируемый объект (без сохранения состояния), можно использовать yield в __iter__().

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