Memahami Ketidakperluan Kata Kunci 'global' untuk Akses Pembolehubah Global
Dalam Python, ruang nama fungsi adalah berasingan daripada ruang nama global. Ini biasanya memerlukan penggunaan kata kunci 'global' untuk mengakses pembolehubah global dalam fungsi. Walau bagaimanapun, terdapat pengecualian kepada peraturan ini.
Pertimbangkan contoh berikut:
sub = ['0', '0', '0', '0'] def getJoin(): return '.'.join(sub) print(getJoin())
Di sini, kami mentakrifkan senarai global 'sub' dan fungsi 'getJoin' yang menggunakannya tanpa kata kunci 'global'. Yang menghairankan, fungsi itu masih mengembalikan hasil yang betul.
Sebab di sebalik ini adalah sifat dinamik Python. Apabila pembolehubah dirujuk dalam fungsi, Python menyemak skop setempat fungsi terlebih dahulu. Jika ia tidak menemui pembolehubah di sana, ia mencari ruang nama global. Mekanisme carian ini dipanggil perintah LRU (Paling Kurang Digunakan).
Oleh itu, dalam contoh kami, apabila fungsi 'getJoin' merujuk 'sub,' Python menemuinya dalam ruang nama global, walaupun 'global' ' kata kunci tidak digunakan.
Batasan:
Walaupun kata kunci 'global' tidak selalu diperlukan untuk mengakses pembolehubah global, ia adalah penting untuk mengubah suainya. Jika anda cuba memberikan nilai baharu kepada pembolehubah global tanpa menggunakan 'global,' ia akan mencipta pembolehubah setempat baharu dalam fungsi.
Amalan Terbaik:
Untuk kejelasan dan mengelakkan potensi pepijat, biasanya disyorkan untuk menggunakan kata kunci 'global' apabila mengakses atau mengubah suai pembolehubah global dalam fungsi.
Atas ialah kandungan terperinci Bilakah Kata Kunci `global` Diperlukan dalam Python untuk Mengakses Pembolehubah Global?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!