Mein Verständnis war, dass Python-Strings unveränderlich sind.
Ich habe den folgenden Code ausprobiert:
a = "Dog"
b = "eats"
c = "treats"
print a, b, c
# Dog eats treats
print a + " " + b + " " + c
# Dog eats treats
print a
# Dog
a = a + " " + b + " " + c
print a
# Dog eats treats
# !!!
Sollte Python die Zuweisung nicht verhindert haben? Mir fehlt wahrscheinlich etwas.
Irgendeine Idee?
id()
Funktion werfen . a
hat vor und nach der Zuweisung eine andere ID, die angibt, dass sie auf verschiedene Objekte zeigt. Ebenso mit Code wie b = a
Sie werden feststellen , dass a
und b
die gleiche ID haben, an , dass sie das gleiche Objekt sind verweisen.