The itertools module provides a number of functions that we can use to enhance or enrich an iterable source of data. We'll look at the following three functions:
- count(): This is an unlimited version of the range() function
- cycle(): This will reiterate a cycle of values
- repeat(): This can repeat a single value an indefinite number of times
Our goal is to understand how these various iterator functions can be used in generator expressions and with generator functions.