Sobes.tech
Middle

Quelles doivent être les caractéristiques d'un objet pour qu'il soit un itérateur en Python?

sobes.tech IA

Réponse de l'IA

Un objet est un itérateur en Python s'il implémente deux méthodes:

  • __iter__() — doit retourner l'itérateur lui-même (généralement return self).
  • __next__() — retourne le prochain élément de la séquence, et doit lever une exception StopIteration lorsqu'il n'y en a plus.

Exemple d'un itérateur simple:

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)  # Affichera 1, 2, 3