如何使对象成为Python2和Python3迭代器?

时间:2015-04-11 13:34:53

标签: python python-2.7 python-3.x iterator

This Stack Overflow post是关于在Python中使对象成为迭代器。

在Python 2中,这意味着您需要实现__iter__()方法和next()方法。但是在Python 3中,您需要实现不同的方法,而不是next(),您需要实现__next__()

如何在Python 2和3中创建一个迭代器对象?

1 个答案:

答案 0 :(得分:23)

只需给它__next__next方法;一个可以是另一个的别名:

class Iterator(object):
    def __iter__(self):
        return self

    def __next__(self):
        # Python 3
        return 'a value'

    next = __next__  # Python 2