Open Source · Free Forever · Interactive
Learn Python the way it actually works
Not just syntax — memory, reasoning, and mental models. Every concept visualized. Every question answered. Python from first principles.
🧠
Memory model visualized
▶
Step-by-step animation
📱
Works on any device
⚡
No install needed
🔓
Open source
How to learn here
The course is built so you can see Python's memory, then name what just happened.
01
Step the animation
Use → and ←, or Play. Space pauses. R resets. Watch which object appears, which name rebinds, and whether a refcount changes.
02
Read the model
The narrative under each lab puts the same picture into words: names, objects, frames, and references — not syntax trivia.
03
Check yourself
Every session ends with a short quiz. If an answer surprises you, rewind the demo. The glossary is there when a term is fuzzy.
01
Names
A name points at an object. Rebind vs mutate.
02
Frames
Calls create temporary namespaces on a stack.
03
Containers
Slots are references. Copies have a depth.
04
Objects
Data on the instance, behavior on the class.
05
Cursors
Iterators walk; generators pause a frame.
06
Wrappers
A name is rebound to a function that remembers yours.
Course Sessions
Each session builds on the last. Watch the memory, read the model, then check your understanding.
01
Variables & Mutability
What is a variable really? What happens in memory when you write
x = 5?
Why can you change a list but not a string? Understand Python's object model from the ground up.
02
Functions, Scope & the Call Stack
How
def creates function objects, calls create frames, arguments bind to objects,
local scope works, and closures remember outer names.
03
Lists, Dicts & References
How containers store references, why aliases share mutations, what shallow copies really copy,
and why nested lists and dicts can surprise you.
04
Classes & Objects
What
self really is, where attributes live, how method binding works,
why class variables are shared until an instance shadows them, and how inheritance
is just a longer lookup.
05
Iterators & Generators
How
for loops call iter and next, why a generator
keeps a suspended frame, and what lazy evaluation means in memory.
06
Decorators
Why
@decorator is just f = deco(f), where your original
function goes when a wrapper swallows it, and what functools.wraps
is really putting back.
07
The GIL & Concurrency soon
Why threads share one interpreter lock, when processes help, and how asyncio interleaves work.
Why another Python course?
01
Most courses teach syntax. This one teaches understanding.
You can memorize
list.append() in five minutes.
But do you know why lists are mutable and strings aren't?
What actually happens in RAM when you write x = x + 1?
That's what we care about.
02
Animations over slides.
Every concept is animated. You watch the variable bind to an object.
You see the reference count tick up. You watch the garbage collector sweep.
You can pause, rewind, and go at your own speed.
03
Open source. Always free. No account needed.
Hosted on GitHub Pages. Fork it, extend it, translate it.
The license lets you use the visuals and content freely
— just give credit.
04
Mobile-first, no install.
Pure HTML, CSS, and JavaScript. No build tools, no Node, no backend.
Works offline after first load. Open on your phone on the bus.
Close. Come back. It remembers where you were.