Skip to main content This is the website for an older EuroPython. Looking for the latest EuroPython? Click here!
EuroPython logo

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 and next 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