Встречается на собеседованиях • сегодня
Какие магические методы нужно определить для создания собственного итератора
Для создания собственного итератора в 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
интервью вопросы и ответы