Какие методы нужно задать собственному классу чтобы создать итератор
Python
Junior
Без компании
Какие методы нужно задать собственному классу чтобы создать итератор
Ответы
Чтобы создать итератор в Python, класс должен реализовать два специальных метода:
- `__iter__()` - возвращает сам объект итератора (обычно `self`)
- `__next__()` - возвращает следующий элемент последовательности или вызывает `StopIteration`, когда элементы закончились
Пример простого итератора, который возвращает числа до указанного предела:
```
class CountUpTo:
def __init__(self, max):
self.max = max
self.current = 0
def __iter__(self):
return self
def __next__(self):
if self.current >= self.max:
raise StopIteration
self.current += 1
return self.current - 1
# Использование
for num in CountUpTo(5):
print(num) # 0, 1, 2, 3, 4
```
Также можно сделать итератор с помощью генераторов, используя `yield`, что часто проще.