Les tuples sont des objets non mutables. Donc, après la définition d'une variable de type tuple, son identifiant ne change pas que si on affecte une nouvelle valeur à cette variable.
j'ai exécuté successivement les instructions suivantes
>>> id((1,2,3))
50462352
>>> t=(1,2,3)
>>> id(t)
50456416
>>> t2=(1,2,3)
>>> id(t2)
50462352
Je n'ai pas compris pourquoi id(t) est différent de id((1,2,3)) et id(t2)!=id(t). En principe, les deux tuples pointent sur le même objet (1,2,3) et donc les 3 identifiants doivent être identiques.
Je n'ai pas compris pourquoi id(t) est différent de id((1,2,3)) et id(t2)!=id(t). En principe, les deux tuples pointent sur le même objet (1,2,3) et donc les 3 identifiants doivent être identiques.
Comme te l'a dit jos, parce que tu as créé deux objets différents, même s'ils ont la même valeur. La non-mutabilité signifie juste tu ne peux modifier les références des trois objets vers lesquels chaque tuple pointe, et que tu ne peux rajouter ou supprimer de référence. Mais un tuple n'est que superficiellement immuable.
Pour les chaînes, le phénomène est différent, il se peut que la création de deux chaînes de même valeur conduise à la création d'une seule chaîne:
t1 et t2 son différent cas python les attribue une adresse en memoir différente. Pour la petite précision les deux tuples ne pointe pas sur le même objet.
- Edité par Franck_popo 7 novembre 2022 à 14:02:42
Tant que les valeurs du tuple sont identiques, on peut rechercher au même endroit l'un ou l'autre des tuples, ce qui donne un gain de temps et d'espace.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
les identifiants des tuples
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.
Découverte Python Doc Tkinter Les chaînes de caractères
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)