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.
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.
Curriculum
Six tracks, in order
01
Foundations
How Python represents names, objects, and text.
Start here · 0/3 complete
02
Control flow
Branching, iteration, and exceptions as design tools.
Beginner · 0/3 complete
03
Data structures
Sequences, mappings, sets, and the idioms that use them.
Beginner · 0/3 complete
04
Functions
Scope, closures, decorators, and lazy generators.
Intermediate · 0/3 complete
05
Objects
Classes, protocols, modules, and context managers.
Intermediate · 0/3 complete
06
Advanced
Types, concurrency, and the CPython object model.
Advanced · 0/3 complete