Concept clusters
Related ideas that live chapters apart, pulled onto one page — every way to own memory, every container and when to pick it, and more.
Every way to loop over data
while, for, enumerate and zip, a comprehension, a generator, itertools, or no loop at all with NumPy. What you want out of the loop decides which.
10 concepts →
Copying versus aliasing
Two names for one object, a shallow copy, a deep copy, or a NumPy view. Whether a change in one place shows up in another depends on which you have.
6 concepts →
Ways to handle errors
Let it crash, check first, catch it, clean up with finally or with, raise your own, or log it. Who can do something about the problem decides which.
7 concepts →
Ways to run code at the same time
Threads, processes, a pool from concurrent.futures, or asyncio. Whether the program waits on the network or works the CPU decides which.
8 concepts →