Maison > développement back-end > Tutoriel Python > Types immuables et types mutables : quelle est la différence dans leur opérabilité ?

Types immuables et types mutables : quelle est la différence dans leur opérabilité ?

Patricia Arquette
Libérer: 2024-12-25 08:08:57
original
235 Les gens l'ont consulté

Immutable vs. Mutable Types: What's the Difference in Their Operability?

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal