Pemahaman saya adalah bahwa string Python tidak dapat diubah.
Saya mencoba kode berikut:
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
# !!!
Bukankah seharusnya Python mencegah penugasan? Saya mungkin melewatkan sesuatu.
Ada ide?
id()
fungsinya. a
akan memiliki id yang berbeda sebelum dan sesudah tugas, yang menunjukkan bahwa itu menunjuk ke objek yang berbeda. Begitu juga dengan kode seperti b = a
Anda akan menemukannya a
dan b
akan memiliki id yang sama, menandakan mereka mereferensikan objek yang sama.