如何使对象既是 Python2 又是 Python3 迭代器?
How to make an object both a Python2 and Python3 iterator?
This Stack Overflow post 是关于使对象成为 Python.
中的迭代器
在Python 2 中,这意味着您需要实现一个__iter__()
方法和一个next()
方法。但是在Python 3中,你需要实现一个不同的方法,而不是next()
你需要实现__next__()
.
如何创建一个在 Python 2 和 3 中都是迭代器的对象?
只要给它__next__
和next
方法;一个可以是另一个的别名:
class Iterator(object):
def __iter__(self):
return self
def __next__(self):
# Python 3
return 'a value'
next = __next__ # Python 2
This Stack Overflow post 是关于使对象成为 Python.
中的迭代器在Python 2 中,这意味着您需要实现一个__iter__()
方法和一个next()
方法。但是在Python 3中,你需要实现一个不同的方法,而不是next()
你需要实现__next__()
.
如何创建一个在 Python 2 和 3 中都是迭代器的对象?
只要给它__next__
和next
方法;一个可以是另一个的别名:
class Iterator(object):
def __iter__(self):
return self
def __next__(self):
# Python 3
return 'a value'
next = __next__ # Python 2