Ma compréhension était que les chaînes Python sont immuables.
J'ai essayé le code suivant:
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
# !!!
Python n'aurait-il pas dû empêcher l'affectation? Il me manque probablement quelque chose.
Une idée?
id()fonction. aaura un identifiant différent avant et après l'affectation, indiquant qu'il pointe vers différents objets. De même avec du code comme b = avous le trouverez aet baurez le même identifiant, indiquant qu'ils référencent le même objet.

