Obiekt nieruchomy (immutable) nie może być zmieniony po utworzeniu; obiekt mutowalny (mutable) może. To rozróżnienie jest centralne dla Pythona i wpływa na aliasing, klucze dict, argumenty funkcji oraz klasę subtelnych błędów.
Dwie kategorie
Immutable: int, float, bool, str, tuple, frozenset, bytes, None
Mutable: list, dict, set, bytearray, and most custom objects
Immutable: "zmiana" tworzy nowy obiekt
x =
x.upper()
x +=
n =
n +=
