Skop Pembolehubah Dimulakan dalam Penyata Jika
Dalam Python, skop pembolehubah biasanya meluas ke blok kod tertutup terkecil di mana ia ditakrifkan. Walau bagaimanapun, pembolehubah dimulakan dalam pernyataan if berkelakuan berbeza.
Pertimbangkan kod berikut:
<code class="python">if __name__ == '__main__': x = 1 print(x)</code>
Dalam contoh ini, pembolehubah x dimulakan dalam pernyataan if. Dalam banyak bahasa pengaturcaraan lain, ini akan mengakibatkan ralat kerana x akan dianggap sebagai setempat kepada pernyataan if dan tidak boleh diakses di luarnya.
Walau bagaimanapun, dalam Python, pembolehubah diskop kepada fungsi paling dalam, kelas , atau modul di mana ia ditakrifkan. Blok kawalan seperti pernyataan if dan while tidak mencipta skop baharu. Akibatnya, x kekal boleh diakses walaupun selepas pernyataan if ditamatkan.
Oleh itu, kod di atas akan dilaksanakan tanpa ralat dan mencetak nilai x sebagai 1. Tingkah laku ini selalunya tidak dijangka untuk pengaturcara yang datang daripada bahasa lain, tetapi ia adalah satu perbezaan yang penting untuk difahami apabila bekerja dengan Python.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, memfokuskan pada format soalan dan menyerlahkan perkara utama: **Pilihan 1 (Terus, Ringkas):** * **Mengapa Saya Boleh Mengakses Pembolehubah Dimulakan dalam Jika Penyata di Luar I. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!