Muable

Un objet muable (qu'on appelle aussi « mutable ») est un objet qui peut être modifié.

Parmi les objets muables, on retrouve par exemple les listes, les dictionnaires et les sets.

Quand on modifie l'objet, sa place en mémoire ne change donc pas (on ne crée donc pas un nouvel objet, on modifie directement l'objet existant) :

liste = [1, 2, 3]

# On affiche la place en mémoire de la liste
print(id(liste))  # 2

# On modifie la liste avec la méthode append
liste.append(4)

# On affiche de nouveau la place en mémoire de la liste
print(id(liste))  # 2

☝️ Dans le code ci-dessus, on modifie la liste avec la méthode append et on voit bien que l'id de la liste reste le même.

On a donc bien modifié directement l'objet en mémoire.

Les objets muables sont en oppositions avec les objets immuables (ou « immutables ») qui eux ne peuvent pas être directement modifiés.