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

Pembolehubah Python: Rujukan atau Penunjuk?

Barbara Streisand
Barbara Streisandasal
2024-12-04 17:40:12529semak imbas

Python Variables: References or Pointers?

Memahami Pembolehubah Python: Rujukan lwn. Penunjuk

Lazimnya diandaikan bahawa pembolehubah dalam Python adalah penunjuk semata-mata. Walau bagaimanapun, pemahaman yang lebih mendalam mendedahkan bahawa ini tidak sepenuhnya tepat.

Pertimbangkan coretan kod berikut:

i = 5
j = i
j = 3
print(i)

Berdasarkan andaian bahawa pembolehubah adalah penunjuk, seseorang mungkin menjangkakan outputnya adalah 3, dengan mengandaikan bahawa penunjuk yang disimpan dalam j telah ditetapkan semula. Walau bagaimanapun, output sebenar ialah 5.

Untuk menyelesaikan percanggahan ini, adalah penting untuk menyedari bahawa pembolehubah dalam Python bukanlah penunjuk dalam erti kata tradisional. Sebaliknya, ia berfungsi sebagai rujukan kepada objek dalam ingatan.

Rujukan dalam Python

Rujukan ialah lokasi memori yang menghala ke objek. Dalam kes jenis data primitif seperti integer (cth., i = 5), pembolehubah menyimpan nilai sebenar. Walau bagaimanapun, untuk objek boleh ubah seperti senarai (cth., i = [1,2,3]), pembolehubah menyimpan rujukan kepada objek dalam ingatan.

Tingkah Laku Berdasarkan Jenis Objek

Apabila pembolehubah baharu (cth., j) diberikan rujukan kepada pembolehubah sedia ada (cth., i), kedua-dua pembolehubah menunjuk ke objek asas yang sama. Perubahan yang dibuat melalui mana-mana pembolehubah dicerminkan dalam kedua-duanya.

Contoh dengan Senarai

Pertimbangkan coretan kod:

i = [1,2,3]
j = i
i[0] = 5
print(j)

Dalam kes ini, output ialah [5,2,3]. Ini menunjukkan bahawa apabila elemen senarai pada indeks 0 diubah suai melalui i, perubahan itu juga ditunjukkan dalam j kerana kedua-duanya merujuk kepada senarai yang sama.

Kesimpulan

Pembolehubah dalam Python berfungsi sebagai rujukan dan bukannya penunjuk. Mereka membenarkan berbilang pembolehubah untuk menunjuk ke objek yang sama, membolehkan perkongsian data dan penggunaan memori yang cekap. Memahami konsep ini adalah penting untuk pengaturcaraan yang berkesan dalam Python.

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

Kenyataan:
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