Variable
A name that refers to a value in memory - Python is dynamically typed.
- Assignment binds a name; types live on values.
- x = 42 then x = "hello" is legal.
- Two names can alias the same mutable object.
When to use: Reasoning about aliasing bugs and accidental shared state.
Example: a = [1, 2]; b = a; b.append(3) → both a and b are [1, 2, 3] (same list).