Build a Basic Python Iterator
What are the required methods for defining an iterator? For instance, on the following Infinity iterator, are its methods sufficient? Are there other standard or de factor standard methods that define an iterator?
class Infinity(object): def __init__(self): self.current = 0 def __iter__(self): return self def next(self): self.current += 1 return self.current
What you have is sufficient for Python 2.x, but in Python 3.x you need to define the function
__next__ instead of
next, see PEP 3114.
If you need code that is compatible with both 2.x and 3.x, include both.