Mengakses Pembolehubah Bukan Setempat dalam Penutupan dalam Python 2.x
Python 2.x tidak mempunyai kata kunci bukan tempatan, yang menimbulkan persoalan tentang mengakses pembolehubah bukan tempatan dalam penutupan. Fungsi dalaman sememangnya boleh membaca pembolehubah bukan tempatan, tetapi mengikat semula pembolehubah itu tidak dibenarkan.
Penyelesaian untuk Mengakses Pembolehubah Bukan Setempat
Walaupun pengehadan ini, anda boleh menggunakan penyelesaian:
Contoh Menggunakan Kamus
Pertimbangkan coretan kod berikut, berdasarkan contoh Wikipedia:
<code class="python">def outer(): data = {'y': 0} def inner(): data['y'] += 1 return data['y'] return inner f = outer() print(f(), f(), f()) # prints 1 2 3</code>
Dalam contoh ini, data kamus digunakan untuk menyimpan pembolehubah bukan tempatan y. Fungsi dalaman boleh menambah nilai y dan mengembalikan nilai yang dikemas kini tanpa melanggar sekatan untuk mengikat semula pembolehubah bukan tempatan.
Atas ialah kandungan terperinci Mengakses Pembolehubah Bukan Setempat dalam Python 2.x: Bagaimana Mengatasi Had?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!