Adakah Kebenaran Sentiasa Diterjemahkan kepada Nilai Perduaan?
Banyak bahasa pengaturcaraan memberikan nilai berangka kepada ungkapan Boolean, yang biasanya dirujuk sebagai "truthy" dan "palsu." Python, misalnya, menyamakan benar kepada 1 dan salah kepada 0. Tetapi adakah kesetaraan ini berlaku dalam semua situasi?
Kerumitan Nilai Boolean
Sebenarnya, dalam Python, the Nilai true dan false ialah objek unik yang dipisahkan daripada integer 1 dan 0. Walaupun true sememangnya menilai kepada 1, ini tidak membayangkan bahawa setiap integer selain daripada 0 adalah benar. Hanya benar dan 1 adalah setara; mana-mana integer bukan sifar lain (seperti 2) dinilai kepada benar tetapi tidak benar itu sendiri.
Contoh untuk Digambarkan
Pertimbangkan Python berikut penyataan:
if(0): # Evaluates to false if(1): # Evaluates to true if(2): # Also evaluates to true if(0 == false): # Evaluates to true if(0 == true): # Evaluates to false if(1 == false): # Evaluates to false if(1 == true): # Evaluates to true if(2 == false): # Evaluates to false if(2 == true): # Evaluates to false
Contoh ini menunjukkan bahawa walaupun benar secara numerik sama dengan 1, integer bukan sifar tidak bersamaan sepenuhnya dengan benar.
Praktikal Implikasi
Memahami perbezaan ini mempunyai implikasi praktikal dalam pengaturcaraan. Contohnya, jika anda cuba menetapkan integer bukan sifar kepada pembolehubah boolean, Python akan secara automatik memaksanya kepada true. Walau bagaimanapun, jika anda membandingkan integer bukan sifar secara eksplisit dengan benar, hasilnya akan menjadi palsu.
Kesimpulan
Dalam Python, true sememangnya berbeza daripada integer 1. Walaupun benar menilai kepada 1, mana-mana integer bukan sifar menilai kepada benar tetapi tidak benar dalam erti kata yang ketat. Perbezaan halus ini adalah asas untuk memahami logik Boolean dalam Python dan mengelakkan perangkap pengaturcaraan biasa.
Atas ialah kandungan terperinci Adakah Benar Sentiasa Bersamaan dengan 1 dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!