iterables
have an __iter__
method that instantiates a new iterator every time. iterators
implement a __next__
method that returns individual items, and an __iter__
method that returns self.
Therefore, iterators are also iterable, but iterables are not iterators.