Tutorial Python untuk bukan pengatur cara/Ungkapan Boolean: Perbezaan antara semakan
Kandungan dihapus Kandungan ditambah
terjemah |
|||
Baris 1:
Berikut
<source lang="python">
a = 6
Baris 142:
{{XNote|Anda sudah tentu dapat lihat bahawa bahasa dalam kod di atas bercampur aduk bahasa Inggeris dan bahasa Melayu. Bahagian yang dikekalkan dalam bahasa Inggeris diguna oleh Python dan setakat ini hanya pemboleh ubah (''variable'') dan <code>string</code> dalam kenyataan <code>print</code> dialih bahasa. Kaedah ini digunakan dalam buku ini.}}
Program ini terlaksana dengan ia sentiasa mencari padanan selagi <code>while count < len(salinan) dan salinan[count] tidak sama dengan sebelum</code>. Apabila sama ada <code>count</code> lebih daripada indeks terakhir <code>salinan</code> ataupun padanan ditemui justeru <code>and</code> tidak lagi benar
"Muslihat" kedua <code>and</code> digunakan dalam contoh ini. Jika anda lihat rajah bagi <code>and</code> anda akan dapati bahawa entri ketiga ialah "palsu, dan tidak akan memeriksa". Jika <code>count >= len(salinan)</code> (dalam kata lain <code>count < len(copy)</code> ialah palsu), bahagian <code>salinan[count]</code> tidak akan diperiksa. Ini kerana Python tahu yang sekiranya yang pertama itu palsu, sudah semestinya kedua-duanya tidak boleh menjadi benar. Ini dikenali sebagai litar pintas dan berguna jika bahagian kedua <code>and</code> menyebabkan ralat jika sesuatu tidak kena. Saya mengguna ungkapan pertama (<code>count < len(copy)</code>) untuk mendapat kepastian sama ada <code>count</code> ialah indeks sah bagi <code>salinan</code>. (Jika anda tak percaya anda boleh buang padanan "Hayat" dan "Jill" dan periksa sama ada program masih bekerja dan kemudian terbalikkan urutan <code>count < len(salinan) and salinan[count] != sebelum</code> ke <code>salinan[count] != sebelum and count < len(salinan)</code>.)
Ungkapan
=== Nota berkaitan operator Boolean ===
Baris 171:
Apabila pentafsir Python melihat ungkapan <code>or</code>, ia mengambil kenyataan pertama dan memeriksa sama ada ia <code>true</code> atau benar. Jika kenyataan pertama benar, Python memulangkan nilai objek tanpa memeriksa kenyataan kedua. Ini kerana untuk ungkapan <code>or</code>, keseluruhan kenyataan itu benar jika satu daripada nilainya benar; program tidak perlu memeriksa bahagian kedua. Sebaliknya, jika nilai pertama dinilai sebagai <code>false</code> atau palsu, Python akan memeriksa bahagian kedua dan memulangkan nilai itu. Bahagian kedua itu menentukan nilai benar keseluruhan ungkapan oleh sebab bahagian pertama palsu. "Kemalasan" pentafsir ini digelar ''short circuiting''(litar pintas) dan adalah cara penilaian ungkapan Boolean yang sering terjumpa dalam banyak bahasa pengaturcaraan.
Sama juga, bagi ungkapan <code>and</code>, Python menggunakan jalan pintas bagi mempercepatkan evaluasi nilai benar. Jika kenyataan pertama itu palsu, pada kiraan Python kesemua ungkapan itu palsu dan ia memulangkan nilai tersebut (yakni, <code>false</code>). Sebaliknya jika kenyataan pertama itu benar, Python akan memeriksa kenyataan kedua dan memulangkan nilainya.
One thing to note at this point is that the boolean expression returns a value indicating <code>True</code> or <code>False</code>, but that Python considers a number of different things to have a truth value assigned to them. To check the truth value of any given object <code>x</code>, you can use the function <code>bool(x)</code> to see its truth value. Below is a table with examples of the truth values of various objects:
|