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

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