Tutorial Python untuk bukan pengatur cara/Ungkapan Boolean: Perbezaan antara semakan

Kandungan dihapus Kandungan ditambah
Aurora (bincang | sumb.)
Algazel (bincang | sumb.)
terjemah
Baris 1:
Berikut adalah contoh ungkapan boolean (anda tidak perlu menaipnya):
<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 dan, gelung akan berhenti atau keluar. Operator <code>if</code> hanya memeriksa agaruntuk memastikan yang <code>while</code> keluar kerana tiada padanan ditemui.
 
"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 boolenBoolean boleh digunakan apabila anda mahu memeriksa dua atau lebih perkara sekaligus.
 
=== 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.
Similarly, for an <code>and</code> expression, Python uses a short circuit technique to speed truth value evaluation. If the first statement is false then the whole thing must be false, so it returns that value. Otherwise if the first value is true it checks the second and returns that value.
 
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: