Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah Operator `dan` dan `atau` Python Sentiasa Mengembalikan Nilai Boolean?

Adakah Operator `dan` dan `atau` Python Sentiasa Mengembalikan Nilai Boolean?

Patricia Arquette
Patricia Arquetteasal
2024-11-07 16:49:03193semak imbas

Do Python's `and` and `or` Operators Always Return Boolean Values?

Memahami Gelagat Operator dalam Python

Dalam Python, dan dan atau pengendali memainkan peranan penting dalam operasi dan penilaian bersyarat. Salah tanggapan yang lazim ialah pengendali ini sentiasa mengembalikan nilai boolean (Benar atau Salah). Walau bagaimanapun, kebenaran tentang pengendali ini lebih bernuansa.

Bertentangan dengan tuntutan yang dibuat dalam video 2007, kedua-dua dan dan atau pengendali mengembalikan salah satu daripada dua nilai yang mereka kendalikan, bukannya boolean tulen. Tingkah laku ini boleh ditunjukkan melalui contoh:

>>> 0 or 42
42
>>> 0 and 42
0

Seperti yang kita lihat, 0 atau 42 mengembalikan 42 kerana operan pertama (0) adalah Palsu, dan operasi mengembalikan nilai operan kedua. Begitu juga, 0 dan 42 mengembalikan 0 kerana operan pertama (0) adalah Palsu, dan operasi mengembalikan nilai operan pertama.

Sebaliknya, operator not sentiasa mengembalikan nilai boolean tulen:

>>> not 0
True
>>> not 42
False

Tingkah laku ini menyerlahkan perbezaan antara tiga operator ini:

  • dan dan atau mengembalikan nilai salah satu operan mereka, yang boleh menjadi nilai bukan boolean.
  • tidak mengembalikan nilai boolean secara konsisten, sama ada Benar atau Salah.

Memahami gelagat pengendali ini adalah penting untuk menulis kod Python yang betul dan cekap melibatkan pernyataan dan penilaian bersyarat.

Atas ialah kandungan terperinci Adakah Operator `dan` dan `atau` Python Sentiasa Mengembalikan Nilai Boolean?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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