Mutable ou Immuable ?
En Python, les types de données se répartissent en deux catégories : mutables et immutables.
- Les types mutables peuvent être modifiés après leur création ;
- Les types immutables ne peuvent pas être modifiés après leur création — toute « modification » crée un tout nouvel objet en mémoire.
Types immuables
Les types tels que int, float, str et tuple sont immuables. Cela signifie que si une variable contenant l’un de ces types est « modifiée », Python crée en réalité un nouvel objet en arrière-plan.
123456789# Assign an integer value to var1 var1 = 40 print("var1 =", var1) # Output: var1 = 40 print("ID of var1:", id(var1)) # Shows the memory ID of the value 40 # Reassign a new integer value to var1 var1 = 50 print("var1 =", var1) # Output: var1 = 50 print("New ID of var1:", id(var1)) # Shows a different ID — it's a new object in memory
Même si nous réutilisons le même nom de variable (var1
), la fonction id()
montre que la variable pointe vers un objet complètement nouveau après la réaffectation. Cela s'explique par le fait que les entiers sont immutables — ils ne peuvent pas être modifiés sur place.
Types Mutables
En revanche, des types comme list
et dict
sont mutables. Ils peuvent être modifiés sans créer de nouveaux objets.
Swipe to start coding
Imaginez que vous gérez le budget d’un petit projet. Initialement, votre budget disponible est fixé à $100. Par la suite, vous recevez un financement supplémentaire de $50.
Votre tâche consiste à :
- Afficher la valeur initiale de
project_budget
ainsi que son identifiant mémoire à l’aide de la fonctionid()
. - Mettre à jour la valeur de
project_budget
pour refléter le montant total. - Afficher la valeur mise à jour et son nouvel identifiant.
Cela vous permettra d’observer le comportement des types immuables comme int
lors d’une réaffectation.
Une fois cette tâche terminée, cliquez sur le bouton sous le code pour vérifier votre solution.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.03
Mutable ou Immuable ?
Glissez pour afficher le menu
En Python, les types de données se répartissent en deux catégories : mutables et immutables.
- Les types mutables peuvent être modifiés après leur création ;
- Les types immutables ne peuvent pas être modifiés après leur création — toute « modification » crée un tout nouvel objet en mémoire.
Types immuables
Les types tels que int, float, str et tuple sont immuables. Cela signifie que si une variable contenant l’un de ces types est « modifiée », Python crée en réalité un nouvel objet en arrière-plan.
123456789# Assign an integer value to var1 var1 = 40 print("var1 =", var1) # Output: var1 = 40 print("ID of var1:", id(var1)) # Shows the memory ID of the value 40 # Reassign a new integer value to var1 var1 = 50 print("var1 =", var1) # Output: var1 = 50 print("New ID of var1:", id(var1)) # Shows a different ID — it's a new object in memory
Même si nous réutilisons le même nom de variable (var1
), la fonction id()
montre que la variable pointe vers un objet complètement nouveau après la réaffectation. Cela s'explique par le fait que les entiers sont immutables — ils ne peuvent pas être modifiés sur place.
Types Mutables
En revanche, des types comme list
et dict
sont mutables. Ils peuvent être modifiés sans créer de nouveaux objets.
Swipe to start coding
Imaginez que vous gérez le budget d’un petit projet. Initialement, votre budget disponible est fixé à $100. Par la suite, vous recevez un financement supplémentaire de $50.
Votre tâche consiste à :
- Afficher la valeur initiale de
project_budget
ainsi que son identifiant mémoire à l’aide de la fonctionid()
. - Mettre à jour la valeur de
project_budget
pour refléter le montant total. - Afficher la valeur mise à jour et son nouvel identifiant.
Cela vous permettra d’observer le comportement des types immuables comme int
lors d’une réaffectation.
Une fois cette tâche terminée, cliquez sur le bouton sous le code pour vérifier votre solution.
Solution
Merci pour vos commentaires !
Awesome!
Completion rate improved to 3.03single