This Stack Overflow post是关于在Python中使对象成为迭代器.
在Python 2中,这意味着您需要实现__iter __()方法和next()方法.但是在Python 3中,您需要实现一个不同的方法,而不是next(),您需要实现__next __().
如何在Python 2和3中创建一个迭代器对象?
解决方法
只需给它__next__和下一个方法;一个可以是另一个的别名:
class Iterator(object): def __iter__(self): return self def __next__(self): # Python 3 return 'a value' next = __next__ # Python 2