Apabila memanipulasi senarai Python dengan kaedah seperti menambah, mengisih, melanjutkan, mengalih keluar, mengosongkan dan membalikkan, seseorang menghadapi tingkah laku yang ingin tahu : operasi ini mengubah suai senarai di tempat dan mengembalikan Tiada dan bukannya senarai yang dikemas kini.
Pilihan reka bentuk ini didorong oleh asas prinsip dalam Python: fungsi yang mengubah objek di tempat harus mengembalikan Tiada. Ini berfungsi untuk menyerlahkan fakta bahawa objek baharu tidak dicipta semasa operasi sedemikian.
Guido van Rossum, pencipta Python, menerangkan rasionalnya secara terperinci pada senarai mel Python-Dev. Dia berhujah menentang merantai kesan sampingan pada satu objek dengan cara yang ringkas, kerana ia boleh mengaburkan pemahaman pembaca tentang niat kod itu. Sebagai contoh, pertimbangkan kod berikut:
x.compress().chop(y).sort(z)
Ini bersamaan dengan:
x.compress() x.chop(y) x.sort(z)
Van Rossum berpendapat bahawa bentuk kedua adalah lebih jelas, kerana ia secara jelas menunjukkan bahawa setiap operasi digunakan kepada pembolehubah yang sama, x.
Sebaliknya, penggunaan rantaian dikhaskan untuk operasi yang mengembalikan nilai baharu, seperti operasi pemprosesan rentetan:
y = x.rstrip("\n").split(":").lower()
Walaupun modul perpustakaan tertentu, seperti pstat, mungkin menggalakkan rantaian panggilan kesan sampingan, Van Rossum menegaskan bahawa amalan ini tidak digalakkan untuk penambahan baharu pada perpustakaan standard.
Atas ialah kandungan terperinci Mengapa Kaedah Mutasi Senarai Python Mengembalikan `Tiada`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!