Ich habe mehrere Python-Tutorials (zum Beispiel Dive Into Python) und die Sprachreferenz auf Python.org gelesen - ich verstehe nicht, warum die Sprache Tupel benötigt.
Tupel haben keine Methoden im Vergleich zu einer Liste oder einem Satz. Wenn ich ein Tupel in einen Satz oder eine Liste konvertieren muss, um sie sortieren zu können, was bringt es dann überhaupt, ein Tupel zu verwenden?
Unveränderlichkeit?
Warum kümmert es jemanden, wenn eine Variable an einem anderen Ort im Speicher lebt als zu dem Zeitpunkt, als sie ursprünglich zugewiesen wurde? Dieses ganze Geschäft der Unveränderlichkeit in Python scheint überbetont zu sein.
Wenn ich in C / C ++ einen Zeiger zuweise und auf einen gültigen Speicher zeige, ist es mir egal, wo sich die Adresse befindet, solange sie nicht null ist, bevor ich sie verwende.
Wann immer ich auf diese Variable verweise, muss ich nicht wissen, ob der Zeiger noch auf die ursprüngliche Adresse zeigt oder nicht. Ich überprüfe nur auf null und benutze es (oder nicht).
Wenn ich in Python eine Zeichenfolge (oder ein Tupel) x zuordne und dann die Zeichenfolge ändere, warum kümmert es mich dann, wenn es sich um das ursprüngliche Objekt handelt? Solange die Variable auf meine Daten verweist, ist das alles, was zählt.
>>> x='hello'
>>> id(x)
1234567
>>> x='good bye'
>>> id(x)
5432167
x
verweist immer noch auf die Daten, die ich möchte. Warum muss sich jemand darum kümmern, ob die ID gleich oder verschieden ist?