Apabila berurusan dengan ungkapan Boolean, ia adalah perkara biasa untuk menjumpai kod seperti ini:
u = [] if not u.append(6): # Do something...
Tetapi mengapa list.append menilai kepada False dalam konteks Boolean? Adakah ia disebabkan oleh keputusan reka bentuk yang disengajakan, atau hanya hasil daripada konvensyen C?
Kebanyakan kaedah Python yang mengubah suai bekas di tempat mengembalikan Tiada, mematuhi prinsip arahan- pemisahan pertanyaan. Menurut prinsip ini, kaedah yang mengubah suai data tidak seharusnya mengembalikan sebarang nilai, kerana tujuan utamanya adalah untuk mengubah keadaan objek. Pendekatan ini membantu mengekalkan perbezaan yang jelas antara operasi yang mendapatkan semula data dan operasi yang mengubahnya.
Dalam kes list.append, ia menambahkan elemen pada penghujung senarai, mengubahnya dalam proses. Oleh itu, ia mengikut konvensyen mengembalikan Tiada untuk menunjukkan bahawa ia telah berjaya menambah elemen pada senarai. Walau bagaimanapun, dalam konteks Boolean, Tiada yang dianggap Palsu, oleh itu hasil yang tidak dijangka daripada coretan kod yang disebutkan di atas.
Atas ialah kandungan terperinci Mengapa Adakah `list.append()` Mengembalikan `False` dalam Konteks Boolean?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!