Adakah Rujukan Pembolehubah Python?
Tanggapan bahawa "pembolehubah dalam Python ialah penunjuk" boleh mengelirukan. Untuk menjelaskan salah faham ini, mari kita periksa dua contoh kod:
Contoh 1:
i = 5 j = i j = 3 print(i)
Jika pembolehubah adalah penunjuk, kami menjangkakan outputnya ialah 3. Walau bagaimanapun , output sebenar ialah 5. Ini kerana pembolehubah Python tidak menyimpan nilai sebenar objek sebaliknya merujuk kepada ia.
Contoh 2:
i = [1,2,3] j = i i[0] = 5 print(j)
Tidak seperti contoh pertama, output di sini ialah [5,2,3]. Kali ini, menukar elemen pertama senarai terikat kepada i juga mempengaruhi senarai terikat kepada j. Ini kerana kedua-dua i dan j merujuk objek senarai yang sama.
Apakah Pembolehubah Python Sebenarnya?
Untuk memahami pembolehubah Python dengan betul, kita mesti menganggapnya sebagai rujukan dan bukannya petunjuk. Apabila kita menetapkan nilai kepada pembolehubah, kita pada asasnya mengikat pembolehubah itu pada objek tertentu dalam ingatan.
Perbezaan utama antara rujukan dan penunjuk ialah rujukan tidak boleh ditetapkan semula untuk menunjuk ke objek lain. Sebaliknya, ia kekal terikat secara kekal pada objek asal.
Dalam contoh di atas, i dan j ialah rujukan kepada objek int(5) dan list([1,2,3]) asal, masing-masing. Menukar nilai i tidak menjejaskan j kerana kedua-duanya merujuk objek yang berbeza. Walau bagaimanapun, menukar nilai elemen dalam senarai memberi kesan kepada i dan j kerana kedua-duanya merujuk objek senarai yang sama.
Atas ialah kandungan terperinci Adakah Pembolehubah Python Penunjuk atau Rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!