Что такое __iter__
Python
Middle
Без компании
Что такое __iter__
Ответы
`__iter__` — это специальный метод в Python, который делает объект итерируемым. Он должен возвращать итератор (объект с методом `__next__`). Если класс реализует `__iter__`, его можно использовать в циклах `for`, генераторах списков и других итерационных контекстах.
Пример:
```
class CountDown:
def __init__(self, start):
self.start = start
def __iter__(self):
return self
def __next__(self):
if self.start <= 0:
raise StopIteration
current = self.start
self.start -= 1
return current
# Использование
for num in CountDown(3):
print(num) # Выведет 3, 2, 1
```
Ключевые моменты:
- `__iter__` должен возвращать объект-итератор (обычно `self`, если класс реализует и `__next__`).
- Если `__iter__` отсутствует, Python попытается использовать `__getitem__` для итерации.
- Итераторы должны вызывать `StopIteration` для завершения итерации.