Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengelak Kelakuan Tidak Dijangka dengan Parameter Lalai Boleh Berubah dalam Fungsi Python?
Parameter Lalai Terikat Awal dalam Python: Mengelak Perangkap Biasa
Apabila bekerja dengan parameter lalai dalam Python, adalah penting untuk mengetahui potensi isu yang disebabkan oleh pengikatan awal. Parameter lalai terikat awal, seperti yang dimulakan kepada struktur data boleh ubah (mis., senarai), boleh bertindak secara tidak dijangka apabila fungsi dipanggil beberapa kali.
Pertimbangkan fungsi contoh berikut:
def my_func(working_list=[]): working_list.append("a") print(working_list)
Semasa memanggil fungsi ini buat kali pertama akan memulakan senarai kosong seperti yang dimaksudkan, panggilan seterusnya akan mengemas kini senarai yang sama. Ini boleh membawa kepada gelagat yang tidak diingini apabila senarai bertambah dengan setiap panggilan.
Untuk mengelakkan isu ini, disyorkan untuk memberikan nilai lalai Tiada untuk parameter lalai boleh ubah dan menyemaknya secara eksplisit dalam badan fungsi. Begini cara anda boleh mengubah suai fungsi contoh:
def my_func(working_list=None): if working_list is None: working_list = [] working_list.append("a") print(working_list)
Dengan menetapkan nilai lalai kepada Tiada dan mengujinya secara eksplisit, setiap panggilan ke fungsi akan mencipta senarai kosong baharu, memastikan fungsi itu beroperasi seperti yang dijangkakan .
Pertimbangan Tambahan
Menurut PEP 8 garis panduan, menggunakan adalah atau tidak perbandingan dengan Tiada lebih diutamakan daripada == atau !=. Ini memastikan kejelasan dan mengurangkan risiko kemungkinan ralat.
Ingat untuk mengingati garis panduan ini apabila menggunakan parameter lalai untuk mengelakkan sebarang isu yang tidak diduga dalam kod anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelak Kelakuan Tidak Dijangka dengan Parameter Lalai Boleh Berubah dalam Fungsi Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!