Sobes.tech
Назад к вопросам
Junior — Middle
82

Какие функции необходимо переопределить для реализации собственного итератора?

Ответ от нейросети

sobes.tech AI

Для реализации собственного итератора в Python необходимо определить класс, который реализует два метода:

  1. __iter__(self) — должен возвращать сам итератор (обычно self).
  2. __next__(self) — возвращает следующий элемент последовательности. Если элементов больше нет, должен вызвать исключение StopIteration.

Пример простого итератора, который возвращает числа от 1 до 3:

class MyIterator:
    def __init__(self):
        self.current = 1
        self.max = 3

    def __iter__(self):
        return self

    def __next__(self):
        if self.current <= self.max:
            val = self.current
            self.current += 1
            return val
        else:
            raise StopIteration

# Использование:
for num in MyIterator():
    print(num)

Таким образом, для создания итератора достаточно реализовать эти два метода.