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