Selon la documentation sur ABCs, je devrais juste devoir ajouter une méthode next
pour pouvoir sous-classer collections.Iterator
. Donc, j'utilise la classe suivante:Comment est-ce que je sous-classe collections.Iterator?
class DummyClass(collections.Iterator):
def next(self):
return 1
Cependant, je reçois une erreur lorsque je tente de instancier:
>>> x = DummyClass()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't instantiate abstract class DummyClass with abstract methods __next__
Je devine que je fais quelque chose de stupide, mais Je ne peux pas comprendre ce que c'est. Quelqu'un peut-il nous éclairer là-dessus? Je pourrais ajouter une méthode __next__
, mais j'avais l'impression que c'était seulement pour les classes C.
Comme on le voit sur [ideone] (http://ideone.com/6cxGR) – NullUserException
Ce doit être un bug avec Python 2.6.1 sur Mac alors. –
Juste pour clarifier mon dernier commentaire, je * suis * en cours d'exécution python 2.x. Il semble avoir été corrigé dans une version après la version fournie avec OS X. –