Qu'est-ce qu'un objet immuable en Python ? - Docstring

Qu'est-ce qu'un objet immuable en Python ?

Un objet immuable est un objet que l'on ne peut pas modifier.

Parmi les objets immuables, on retrouve notamment :

  • Les nombres entiers (int)
  • Les nombres décimaux (float)
  • Les chaînes de caractères (str)
  • Les booléens (bool)
  • Les tuples (tuple)

Si vous essayez de modifier un objet immuable, Python vous retournera une erreur :

prenom = "Patrick"
prenom[-1] = "e"

La seule solution est donc de créer un nouvel objet en mémoire :

prenom = "Patrick"
prenom = "Patrice"
print(prenom)

 On pourrait penser parfois que l'on modifie une chaîne de caractères, par exemple en utilisant l'opérateur += :

prenom = "Patric"
prenom += "e"
print(prenom)

 En fait, quand on fait ceci, on crée une nouvelle variable prenom qui contient une nouvelle valeur.

On peut vérifier cette affirmation grâce à la fonction id qui nous retourne l'adresse en mémoire d'un objet :

prenom = "Patric"
print("L'identifiant en mémoire de la variable prenom est", id(prenom))
prenom += "e"
print("L'identifiant en mémoire de la variable prenom est", id(prenom))

On voit bien avec le code ci-dessus que l'ID change après que l'on ait utilisé l'opérateur +=.

Il s'agit donc bien ici de deux variables prenom distinctes et non de la même variable qui a été modifiée. 

Réservé aux membres abonnés

Inscris-toi

Pour pouvoir prendre des notes et ajouter des favoris tu dois être abonné à Docstring.

Voir les formules

Mes notes

Sauvegardé

Passages surlignés

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu peux également visionner cette vidéo dans laquelle je t'explique comment poser ta question correctement et utiliser l'éditeur.

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Aucun résultat.

Un problème sur le site ?

Aide-nous à améliorer Docstring en nous signalant un problème que tu as rencontré.

Que ce soit un bug sur une fonctionnalité ou une erreur dans une formation, on va pouvoir le corriger rapidement 😉

Page concernée

M'avertir par e-mail

Je veux être averti par e-mail lorsque ce bug est corrigé.