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