Back to questions
Junior — Middle
65
Какова роль метода __iter__ в реализации итераторов в Python?
Companies where asked
АО К-Технологии
Answer from AI
sobes.tech AI
Метод __iter__ в Python определяет объект как итерируемый. Он должен возвращать итератор — объект, который реализует метод __next__. Благодаря этому можно использовать объект в циклах for, а также во всех конструкциях, ожидающих итерируемый объект.
Пример:
class MyRange:
def __init__(self, n):
self.n = n
def __iter__(self):
self.current = 0
return self
def __next__(self):
if self.current < self.n:
val = self.current
self.current += 1
return val
else:
raise StopIteration
for i in MyRange(3):
print(i) # Выведет 0, 1, 2
Здесь __iter__ возвращает сам объект, который реализует __next__. Таким образом, __iter__ — это точка входа для создания итератора из объекта.