Sobes.tech
Middle

Was muss ein Objekt haben, damit es in Python ein Iterator ist?

sobes.tech KI

Antwort von AI

Ein Objekt ist in Python ein Iterator, wenn es zwei Methoden implementiert:

  • __iter__() — sollte den Iterator selbst zurückgeben (normalerweise return self).
  • __next__() — gibt das nächste Element der Sequenz zurück und löst bei Erreichen des Endes eine StopIteration-Ausnahme aus.

Beispiel für einen einfachen Iterator:

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

counter = CountUpTo(3)
for num in counter:
    print(num)  # Gibt 1, 2, 3 aus