Iterator
Iterator objects
_ _ next _ _ method, return next thing in the iteraiton and update their state/memory of where they are up to
next()
- iterator raises StopIteration exception when container is empty
Why use iterators
Iterable
something that could conceptually be accessed element-by-element
Iterator
actual interface allowing element by element access
use iterator to access iterable object
Itertools