An immutable object cannot be changed after creation; a mutable object can. This distinction is central to Python and affects aliasing, dict keys, function arguments, and a class of subtle bugs.
The two categories
Immutable: int, float, bool, str, tuple, frozenset, bytes, None
Mutable: list, dict, set, bytearray, and most custom objects
Immutable: "changing" creates a new object
x =
x.upper()
x +=
n =
n +=
