Dalam pengaturcaraan, merujuk pembolehubah membolehkan kami mewujudkan hubungan antara dua pembolehubah, membenarkan perubahan dibuat kepada satu kepada tercermin pada yang lain. Walaupun konsep ini lazimnya dicapai melalui rujukan dalam bahasa seperti C , Python menawarkan pendekatan yang berbeza.
Tidak seperti C , Python tidak mempunyai rujukan eksplisit untuk pembolehubah. Sebaliknya, pembolehubah diberikan kepada objek, dan objek ini boleh sama ada boleh ubah (boleh berubah) atau tidak boleh ubah (tetap). Apabila menetapkan pembolehubah kepada pembolehubah lain, Python tidak menyalin objek sebaliknya mencipta rujukan kepada objek asal.
Ini bermakna sebarang pengubahsuaian yang dibuat pada objek itu secara langsung mempengaruhi semua pembolehubah yang merujuknya. Contohnya:
<code class="python">y = 7 x = y x = 8</code>
Selepas kod ini, kedua-dua y dan x akan mempunyai nilai 7. Menukar x kepada 8 tidak akan menukar y kerana Python menganggapnya sebagai pembolehubah bebas, masing-masing merujuk kepada salinannya sendiri daripada nilai 7.
Walaupun Python tidak menyokong rujukan dengan cara yang sama seperti C , adalah mungkin untuk mensimulasikan rujukan dengan menggunakan objek boleh ubah. Sebagai contoh, seseorang boleh mencipta kelas tersuai yang berkelakuan seperti rujukan:
<code class="python">class Reference: def __init__(self, val): self._value = val def get(self): return self._value def set(self, val): self._value = val</code>
Dengan menggunakan kelas ini, seseorang boleh mencipta berbilang pembolehubah merujuk nilai asas yang sama:
<code class="python">reference = Reference(7) x = reference y = reference</code>
Sekarang , sebarang perubahan yang dibuat kepada x atau y akan dicerminkan dalam nilai asas yang dirujuk melalui rujukan, dengan berkesan mensimulasikan rujukan seperti C.
Walaupun Python tidak mempunyai rujukan eksplisit seperti C , ia semantik rujukan untuk objek membolehkan penciptaan rujukan simulasi menggunakan objek boleh ubah. Ini membolehkan pengubahsuaian pembolehubah mempengaruhi pembolehubah lain yang merujuk kepada nilai asas yang sama, menyediakan cara yang fleksibel untuk mewujudkan hubungan antara pembolehubah.
Atas ialah kandungan terperinci Bagaimanakah Python Mengendalikan Rujukan dan Hubungan Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!