Mengapa bool[False] bernilai benar tetapi bool(False) bernilai salah?

Sesuai dokumen python: "Setiap objek yang nilainya tidak terdefinisi atau nol, termasuk objek Boolean yang nilainya salah, dievaluasi menjadi benar ketika diteruskan ke pernyataan bersyarat."

Baik Tuple dan daftar adalah objek lalu mengapa perilaku ambigu ini?

-2
User96 23 Juli 2020, 20:41

1 menjawab

Jawaban Terbaik

Apakah maksud Anda bool([False])? Daftar yang tidak kosong akan dievaluasi menjadi True, dan daftar kosong akan dievaluasi menjadi False. Daftar [False] tidak kosong, jadi True.

bool([]) dievaluasi menjadi False.

(False) bukan tupel. Anda harus menggunakan (False,). bool((False,)) dievaluasi menjadi True karena merupakan urutan yang tidak kosong.

1
jakub 23 Juli 2020, 17:43