Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Kaedah Mutasi Senarai Python Mengembalikan `Tiada`?

Mengapa Kaedah Mutasi Senarai Python Mengembalikan `Tiada`?

Mary-Kate Olsen
Lepaskan: 2024-12-28 12:49:12
asal
726 orang telah melayarinya

Why Do Python List Mutation Methods Return `None`?

Mengapa Senaraikan Mutasi Tiada Kembali dalam Python

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)
Salin selepas log masuk

Ini bersamaan dengan:

x.compress()
x.chop(y)
x.sort(z)
Salin selepas log masuk

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()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan