Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Pengendali 'dan' dan 'atau' Python Mengendalikan Nilai Bukan Boolean?

Bagaimanakah Pengendali 'dan' dan 'atau' Python Mengendalikan Nilai Bukan Boolean?

DDD
Lepaskan: 2024-12-17 22:50:15
asal
830 orang telah melayarinya

How Do Python's

Cara Nilai Bukan Boolean Berinteraksi dengan "dan" dan "atau" dalam Python

Soalan:
Dalam Python, ia diperhatikan bahawa pengendali logik "dan" dan "atau" mempamerkan tingkah laku luar biasa apabila beroperasi pada nilai bukan boolean. Sebagai contoh, ungkapan "10 dan 7-2" mengembalikan 5 dan bukannya Benar atau Salah. Terangkan kelakuan ini dan implikasinya dalam pengaturcaraan Python.

Jawapan:
Operator logik Python "dan" dan "atau" mempunyai peraturan unik untuk mengendalikan nilai bukan boolean:

"dan" Gelagat:

  • Jika mana-mana nilai dalam ungkapan adalah Palsu, "False" dikembalikan.
  • Jika tiada nilai Palsu, nilai terakhir dalam ungkapan dikembalikan.

"atau" Gelagat:

  • Jika sebarang nilai dalam ungkapan adalah Benar, "Benar" dikembalikan.
  • Jika tiada nilai adalah Benar, nilai terakhir dalam ungkapan dikembalikan.

Pertimbangkan contoh ungkapan "10 dan 7-2":

  • 7-2 menilai kepada 5 (nilai bukan boolean).
  • Tiada nilai Palsu dalam ungkapan, jadi "dan" mengembalikan yang terakhir nilai, iaitu 5.

Begitu juga, untuk "10 atau 7-2":

  • 7-2 menilai kepada 5 (nilai bukan boolean).
  • Terdapat nilai Benar dalam ungkapan (10), jadi "atau" mengembalikan 10.

Legitimasi dan Gotchas:
Tingkah laku ini adalah sah dan biasa digunakan. Walau bagaimanapun, ia boleh membawa kepada hasil yang tidak dijangka jika tidak difahami dengan betul. Gotcha yang perlu diberi perhatian termasuk:

  • Nilai Kebenaran/Falsy Tersirat: Sesetengah nilai bukan boolean, seperti rentetan kosong, senarai kosong dan Tiada, secara tersirat dianggap sebagai Palsu , manakala nombor bukan sifar adalah Benar secara tersirat.
  • Operan Susunan: Susunan operan penting dengan "dan" dan "atau". Dalam contoh di atas, "10 dan 7-2" mengembalikan 5, tetapi "7-2 dan 10" mengembalikan 8 (sejak nilai Palsu tersirat bagi 5 litar pintas "dan").
  • Penukaran Jenis: "dan" dan "atau" akan cuba menukar operan bukan boolean kepada nilai boolean. Ini boleh membawa kepada hasil yang tidak dijangka dalam kes seperti "0 dan '0' == Benar" (memandangkan rentetan '0' secara tersirat dianggap sebagai Palsu).

Atas ialah kandungan terperinci Bagaimanakah Pengendali 'dan' dan 'atau' Python Mengendalikan Nilai Bukan Boolean?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan