Creating a Python iterator (Python 3 )
Creating a Python iterator
There’s no magic to creating your own iterator. I’ll demonstrate with a simple iterator class that returns even numbers.
As we’ve learned, we need to implement __iter__
and __next__
. We’ll do this in one single class, to keep things simple. We accomplish this with an __iter__
method that simply returns self. We could make this an endless iterator. But for the sake of demonstration, we’ll raise a StopIteration exception as soon as we go past the number 8.
Remember that if you build an iterator this way, you can not use it in a concurrent environment. In such cases, you should return a new object on each call to iter.
To learn more, read the Python iterators tutorial at Python Land.
Edit and run this Python 3 example code
This code is editable and runnable. You can run "Creating a Python iterator" by pressing the run button.
It will be executed in our backend and the result (stdout
and stderr
) is displayed
in addition tabs.