Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengakses Pembolehubah Bukan Tempatan dalam Python 2.x?
Memahami Kata Kunci bukan tempatan dalam Python 2.x
Dalam versi Python sebelum 3.0, kata kunci bukan tempatan tidak tersedia. Walau bagaimanapun, ini tidak bermakna anda tidak boleh mengakses pembolehubah bukan tempatan dalam penutupan.
Membaca Pembolehubah Bukan Setempat
Dalam Python 2.x, fungsi dalaman masih boleh membaca bukan tempatan pembolehubah, tetapi mereka tidak boleh mengikatnya semula. Ini bermakna anda boleh mengakses nilai pembolehubah tetapi tidak mengubahnya.
Mengatasi Had
Untuk mengatasi had ini, anda boleh menggunakan penyelesaian menggunakan kamus. Simpan data bukan tempatan anda dalam kamus, dan kemudian fungsi dalaman boleh memanipulasi objek yang dirujuk oleh data tanpa mengikat semula.
Sebagai contoh, pertimbangkan contoh daripada Wikipedia:
<code class="python">def outer(): d = {'y': 0} def inner(): d['y'] += 1 return d['y'] return inner f = outer() print(f(), f(), f()) # Prints 1 2 3</code>
Dalam contoh ini , fungsi dalaman boleh mengakses pembolehubah 'y' yang disimpan dalam kamus 'd'. Walaupun pembolehubah 'y' itu sendiri tidak boleh diubah suai, nilainya boleh ditambah dari dalam fungsi dalaman.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Bukan Tempatan dalam Python 2.x?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!