Maison >développement back-end >Tutoriel Python >Types immuables et types mutables : quelle est la différence dans leur opérabilité ?
Types immuables ou mutables
En programmation, les types font référence à la catégorie ou à la structure de données à laquelle appartient une variable. Ces types peuvent être classés comme immuables ou mutables en fonction de la manière dont ils peuvent être modifiés.
Types immuables
Les types immuables ne permettent pas la modification de leur contenu une fois attribués. Au lieu de cela, ils se remplacent par un nouvel objet contenant les données mises à jour. Float est un exemple de type immuable. Par exemple, la création d'une nouvelle sous-classe de float appelée RoundFloat, comme le montre le code fourni, ne modifie pas l'immuabilité du type. En effet, la méthode new est responsable de la création de nouvelles instances de l'objet et ne modifie pas l'objet existant.
Types mutables
Mutable les types, en revanche, peuvent modifier leur contenu en mémoire. Cela permet à la référence d'origine de pointer vers l'objet mis à jour. Dans l'exemple fourni, SortedKeyDict_a est un type mutable car il inclut des méthodes qui opèrent sur l'objet, comme example(). Ces méthodes permettent de changer l'état de l'objet sans en créer un nouveau.
Opérabilité
Concernant les tests effectués sur SortedKeyDict et RoundFloat, la différence réside dans leur comportement avec les valeurs définies données. SortedKeyDict, étant mutable, permet des modifications sans invoquer explicitement la méthode example(). Il trie les clés en interne et renvoie un dictionnaire. RoundFloat, cependant, ne prend pas en charge ce comportement car il est immuable. Par conséquent, tenter de transmettre des entiers à RoundFloat sans invoquer new signale une erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!