18 lessons · 6 tracks · live interpreter

Python, from first print to the internals.

A serious path through the language: names and objects, control, data, functions, classes, types, concurrency, and the CPython data model. Every lesson has runnable examples, a quiz, and an exercise.

The idea that unlocks the rest
def names_are_labels():
    a = [1, 2, 3]
    b = a          # same object
    c = list(a)    # a copy
    b.append(4)
    return a, c

print(names_are_labels())

Assignment never copies. Run it.

Deep, not skimmed

Each concept is taught with the rule, the example, and the gotcha. No toy chapter that stops at print().

A real interpreter

Examples and exercises run in the browser on CPython-via-Pyodide. Infinite loops time out automatically.

A tutor on the lesson

Signed-in learners can ask a focused question about the current page. Guests still get the full path.