Ho letto diversi tutorial su Python (Dive Into Python, per esempio) e il riferimento linguistico su Python.org - Non vedo perché la lingua abbia bisogno di tuple.
Le tuple non hanno metodi rispetto a un elenco o set, e se devo convertire una tupla in un set o elenco per poterli ordinare, a che serve usare una tupla?
Immutabilità?
Perché a qualcuno importa se una variabile vive in un posto diverso nella memoria rispetto a quando è stata originariamente allocata? Tutta questa faccenda dell'immutabilità in Python sembra essere troppo enfatizzata.
In C / C ++ se allocare un puntatore e punto un po 'di memoria valida, non mi interessa dove si trova l'indirizzo fintanto che non è nullo prima di usarlo.
Ogni volta che faccio riferimento a quella variabile, non ho bisogno di sapere se il puntatore sta ancora puntando all'indirizzo originale o meno. Controllo solo null e lo uso (o no).
In Python, quando allocare una stringa (o tupla) la assegno a x, quindi modifico la stringa, perché mi interessa se è l'oggetto originale? Finché la variabile punta ai miei dati, è tutto ciò che conta.
>>> x='hello'
>>> id(x)
1234567
>>> x='good bye'
>>> id(x)
5432167
x
fa ancora riferimento ai dati che desidero, perché qualcuno deve preoccuparsi se il suo ID è uguale o diverso?