Under the Hood
Loading visualizer…
DNSresolving host
TCPconnecting
TLShandshake
HTTPrequesting
Initializing Sorting Algorithms...
Sorting
Trees
Graphs
Preparing interactive visualizations...
Under the Hood
Loading visualizer…
Why variables are name bindings not boxes, how PyObject refcounting works, the small int cache that makes is lie, and how closures keep state alive after their creator returns.
In C, a variable IS a memory box — int x = 5 writes the value 5 directly into a stack slot. In Python, a variable is a NAME — a label in a dictionary that points to an object living on the heap. This single distinction explains most Python "surprises".
x = 5binds name, doesn't copyy = xtwo names, one objectx = 10rebinds x, y unchangedb = adangerous for mutables!a[:]shallow copy of a lista = [1,2,3]; b = a; b.append(4). What does print(a) output?