Rumah > pembangunan bahagian belakang > Tutorial Python > Adakah Python Pembolehubah Penunjuk atau Rujukan Langsung?

Adakah Python Pembolehubah Penunjuk atau Rujukan Langsung?

Mary-Kate Olsen
Lepaskan: 2024-12-05 13:16:10
asal
943 orang telah melayarinya

Are Python Variables Pointers or Direct References?

Adakah Python Pembolehubah Penunjuk? Penjelasan

Dalam Python, konsep pembolehubah sebagai penunjuk sering membawa kepada kekeliruan. Walaupun benar bahawa pembolehubah berkongsi persamaan dengan penunjuk, terdapat perbezaan asas yang perlu ditangani.

Jenis dan Rujukan Data Tidak Boleh Berubah

Dalam contoh yang anda berikan:

i = 5
j = i
j = 3
print(i)
Salin selepas log masuk

Hasil jangkaan 3 adalah tidak betul kerana Python menganggap jenis data asas seperti integer sebagai objek tidak berubah. Apabila memberikan nilai baharu kepada pembolehubah, objek baharu dicipta dan pembolehubah terikat pada objek baharu. Dalam kes ini, saya kekal terikat kepada integer asal dengan nilai 5, walaupun j ditugaskan semula kepada integer baharu dengan nilai 3.

Jenis dan Rujukan Data Boleh Berubah

Sebaliknya, apabila berurusan dengan jenis data boleh ubah seperti senarai, situasi perubahan:

i = [1,2,3]
j = i
i[0] = 5
print(j)
Salin selepas log masuk

Dalam kes ini, kedua-dua i dan j terikat pada objek senarai yang sama. Apabila mengubah suai senarai menggunakan i[0] = 5, perubahan ditunjukkan dalam kedua-dua i dan j. Tingkah laku ini disebabkan oleh fakta bahawa jenis data boleh ubah seperti senarai diluluskan melalui rujukan, bermakna kedua-dua i dan j memegang rujukan kepada objek kongsi yang sama dalam ingatan.

Kesimpulan

Pembolehubah Python bukan sekadar penunjuk. Untuk jenis data tidak berubah, mereka menyediakan akses terus kepada objek itu sendiri. Untuk jenis data boleh ubah, ia bertindak sebagai rujukan yang membenarkan berbilang pembolehubah mengakses dan mengubah suai objek asas yang sama. Perbezaan ini memastikan prestasi dan fleksibiliti dalam pengaturcaraan Python.

Atas ialah kandungan terperinci Adakah Python Pembolehubah Penunjuk atau Rujukan Langsung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan