Mengubah suai kaedah senarai seperti menambah, mengisih, melanjutkan, mengalih keluar, mengosongkan dan membalikkan biasanya tidak mengembalikan Tiada sebaliknya daripada senarai yang diubah suai itu sendiri. Keputusan reka bentuk ini berakar umbi dalam prinsip menyeluruh Python bahawa fungsi yang mengubah suai objek di tempat harus mengembalikan Tiada.
Menurut Guido van Rossum, arkitek Python , pilihan ini berfungsi untuk menekankan bahawa objek baharu tidak dibuat. Dengan tidak mengembalikan senarai yang diubah suai, ia tidak menggalakkan penggunaan kesan sampingan berantai, seperti:
x.compress().chop(y).sort(z)
yang boleh mengelirukan dan menghalang kebolehbacaan. Sebaliknya, Python lebih suka bentuk yang lebih eksplisit:
x.compress() x.chop(y) x.sort(z)
Pemisahan ini menjelaskan bahawa setiap kaedah bertindak pada objek yang sama.
Semasa merantai sisi -panggilan kesan tidak digalakkan, Python membenarkannya untuk operasi yang mengembalikan nilai baharu, seperti pemprosesan rentetan operasi:
y = x.rstrip("\n").split(":").lower()
Keputusan reka bentuk ini mempunyai kelemahan. Ia menghalang "rantaian" intuitif pemprosesan senarai, seperti:
mylist.reverse().append('a string')[:someLimit]
Alternatif seperti pemahaman senarai dan struktur data lain boleh menyediakan kefungsian yang serupa tanpa melanggar konvensyen "tiada pulangan kesan sampingan".
Atas ialah kandungan terperinci Mengapa Kaedah Pengubahsuaian Senarai Python Mengembalikan `Tiada`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!