Reinventing the `itertools` wheel for fun and profit
- Track:
- Python Libraries & Tooling
- Type:
- Tutorial
- Level:
- intermediate
- Room:
- Club B
- Start:
- 13:45 on 08 July 2024
- Duration:
- 180 minutes
Abstract
In this hands-on tutorial we will reinvent the wheel!
We’ll reinvent the wheel and implement the module itertools
in plain Python.
We’ll do that because it’s fun, but also because that will teach us a lot about Python:
- the difference between iterables and iterators;
- what the built-ins
iter
andnext
do; - how Python handles iterations and
for
loops under the hood; - what the iterator protocol is;
- how the dunder methods
__iter__
and__next__
play a part in all this; and - we’ll also learn about the functions inside
itertools
, a module with plenty of useful tools for your day-to-day iterations.
To prepare for the tutorial, please
- have Python 3.12+ installed (ideally);
- clone this GitHub repository https://github.com/mathspp/the-little-book-of-itertools; and
- install the requirements (it’s just
pytest
).