Ilusi Kebolehubahan Rentetan Python: A " " B
Rentetan Python dikenali secara meluas kerana kebolehubahannya. Walau bagaimanapun, contoh kod yang anda berikan, melibatkan " " b, menimbulkan persoalan tentang sifat asas ini. Mari kita selami penjelasan di sebalik tingkah laku yang kelihatan bercanggah ini.
Kisah Pembolehubah
Apabila kita menetapkan rentetan kepada pembolehubah, seperti a = "Anjing", ia hanya mencipta rujukan kepada rentetan itu dalam ingatan. Pembolehubah tidak memiliki atau memegang salinan rentetan itu sendiri; sebaliknya, ia menunjuk kepadanya. Ini adalah intipati kebolehubah rentetan dalam Python.
The New Object Magic
Dalam kod yang anda nyatakan, apabila anda menulis " " b, anda tidak mengubah suai rentetan yang ditunjuk oleh a atau b. Sebaliknya, anda mencipta rentetan baharu yang merupakan gabungan kedua-dua rentetan. Rentetan yang baru dibuat ini kemudiannya diberikan kepada rujukan baharu, meninggalkan rentetan asal tidak disentuh.
Penugasan Semula Pembolehubah
Titik penting di sini ialah baris kod berikutnya:
a = a + " " + b + " " + c
Baris ini tidak mengubah suai rentetan yang ditunjuk sebelum ini, sebaliknya menugaskan semula a untuk menunjuk pada rentetan baharu yang baru anda buat. Oleh itu, kini ia menunjuk pada rentetan bercantum "Anjing makan hidangan," manakala rentetan "Anjing" asal kekal tidak berubah.
Kesimpulan
Walaupun ia kelihatan seperti rentetan "Anjing" sedang dimutasi, sebenarnya, Python sedang mencipta dan memberikan rentetan baharu sepanjang proses. Ketidakbolehubahan rentetan kekal utuh, memastikan bahawa setelah rentetan dicipta, kandungannya tidak boleh diubah.
Atas ialah kandungan terperinci Mengapa Rangkaian Rentetan Python Muncul untuk Mengubah Suai Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!