Mengapa Adakah (1 dalam [1, 0] == Benar) Menilai kepada Salah dalam Python?

Patricia Arquette
Lepaskan: 2024-11-03 18:02:03
asal
597 orang telah melayarinya

Why Does (1 in [1, 0] == True) Evaluate to False in Python?

Python Precedence and Chaining: Mengapa Keputusan Yang Tidak Dijangkakan dalam (1 dalam [1,0] == True)?

Dalam Python, ungkapan (1 dalam [1,0] == Benar) menilai kepada Salah, yang mungkin kelihatan berlawanan dengan intuisi. Untuk memahami sebabnya, adalah penting untuk mengetahui tentang keutamaan operator dan rantaian dalam Python.

Keutamaan pengendali menentukan susunan pengendali yang berbeza dalam ungkapan dinilai. Dalam kes ini, pengendali dalam mempunyai keutamaan yang lebih tinggi daripada pengendali perbandingan ==. Jadi, ungkapan itu dihuraikan sebagai (1 dalam [1,0]) == Benar, di mana (1 dalam [1,0]) dinilai dahulu.

Apabila jurubahasa menilai (1 dalam [1, 0]), ia mengembalikan Benar kerana 1 berada dalam senarai [1,0]. Walau bagaimanapun, ungkapan itu tidak berakhir di situ.

Python menggunakan rantaian untuk pengendali perbandingan. Rantaian membolehkan berbilang perbandingan dilakukan dalam satu ungkapan. Dalam kes ini, ungkapan (1 dalam [1,0]) == Benar boleh diterjemahkan kepada:

(1 dalam [1,0]) dan ([1,0] == Benar)

Selepas menilai (1 dalam [1,0]) kepada Benar, jurubahasa meneruskan untuk menilai ([1,0] == Benar). Perbandingan ini menilai kepada Salah kerana [1,0] ialah senarai dan Benar ialah nilai boolean.

Oleh itu, ungkapan keseluruhan menilai kepada Salah kerana kedua-dua syarat dalam perbandingan berantai tidak dipenuhi. Ia bukan semata-mata soal keutamaan, sebaliknya gabungan keutamaan dan rantaian yang membawa kepada keputusan ini.

Atas ialah kandungan terperinci Mengapa Adakah (1 dalam [1, 0] == Benar) Menilai kepada Salah dalam Python?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!