Writing a custom iterator
Now we have all the tools to appreciate how we can write our own custom iterator. Let's first define what is an iterable and an iterator:
- Iterable: An object is said to be iterable if it's capable of returning its members one at a time. Lists, tuples, strings, dicts, are all iterables. Custom objects that define either of
__iter__
or__getitem__
methods are also iterables. - Iterator: An object is said to be an iterator if it represents a stream of data. A custom iterator is required to provide an implementation for
__iter__
that returns the object itself, and an implementation for__next__
, which returns the next item of the data stream until the stream is exhausted, at which point all successive calls to__next__
simply ...
Get Python: Journey from Novice to Expert now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.