Python iterator objects are required to support two methods while following the iterator protocol.

  • __iter__ returns the iterator object itself. This is used in for and in statements.

  • __next__ method returns the next value from the iterator. If there is no more items to return then it should raise StopIteration exception.

In [ ]: