J'ai lu plusieurs didacticiels python (Dive Into Python, pour un) et la référence du langage sur Python.org - je ne vois pas pourquoi le langage a besoin de tuples.
Les tuples n'ont pas de méthode par rapport à une liste ou à un ensemble, et si je dois convertir un tuple en ensemble ou en liste pour pouvoir les trier, quel est l'intérêt d'utiliser un tuple en premier lieu?
Immutabilité?
Pourquoi quelqu'un se soucie-t-il qu'une variable se trouve à un endroit différent de la mémoire que lorsqu'elle a été allouée à l'origine? Toute cette affaire d'immuabilité en Python semble être surestimée.
En C / C ++, si j'alloue un pointeur et que je pointe vers une mémoire valide, je me fiche de l'emplacement de l'adresse tant qu'elle n'est pas nulle avant de l'utiliser.
Chaque fois que je référence cette variable, je n'ai pas besoin de savoir si le pointeur pointe toujours vers l'adresse d'origine ou non. Je vérifie juste la valeur null et l'utilise (ou non).
En Python, lorsque j'alloue une chaîne (ou un tuple), l'assigne à x, puis modifie la chaîne, pourquoi est-ce que je me soucie si c'est l'objet d'origine? Tant que la variable pointe vers mes données, c'est tout ce qui compte.
>>> x='hello'
>>> id(x)
1234567
>>> x='good bye'
>>> id(x)
5432167
x
fait toujours référence aux données que je veux, pourquoi quelqu'un doit-il se soucier de savoir si son identifiant est le même ou différent?