根据关于ABCs的文档,我应该只需要添加一个next
方法就可以进行子类化collections.Iterator
。所以,我正在使用以下类:
class DummyClass(collections.Iterator):
def next(self):
return 1
但是,当我尝试实例化它时出现错误:
>>> x = DummyClass()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't instantiate abstract class DummyClass with abstract methods __next__
我猜我在做一些愚蠢的事情,但我无法弄清楚它是什么。任何人都可以对此有所了解吗?我可以添加一个__next__
方法,但我的印象是只适用于 C 类。