Junior — Middle
54
Какова роль метода __iter__ в реализации итераторов в Python?
Companies where asked
Answer from AI
sobes.tech AI
Метод __iter__ в Python определяет объект как итерируемый. Он должен возвращать итератор — объект, который реализует метод __next__. Когда вызывается iter(obj), Python вызывает obj.__iter__(). Это позволяет использовать объект в циклах for, генераторах и других конструкциях, работающих с итераторами.
Пример:
class CountUpTo:
def __init__(self, max):
self.max = max
def __iter__(self):
self.current = 1
return self
def __next__(self):
if self.current <= self.max:
val = self.current
self.current += 1
return val
else:
raise StopIteration
for num in CountUpTo(3):
print(num)
Здесь __iter__ возвращает сам объект как итератор, позволяя пройтись по числам от 1 до 3.