Artikel ini menerangkan cara penilaian litar pintas Python dalam ungkapan bersyarat kompaun meningkatkan kecekapan dengan menghentikan penilaian sebaik sahaja keputusan ditentukan.
Untuk memahami konsep litar pintas dalam ungkapan bersyarat kompaun dalam Python, adalah penting untuk membiasakan diri dengan pengendali logik 'dan' dan 'atau'. Jadual di bawah meringkaskan hasil logik untuk pengendali ini.
Jadual 1
Pengendali ‘dan’ dan ‘atau’
Nota: Daripada Modul 3: Memahami struktur kawalan keputusan Python, ITS320: Pengaturcaraan Asas, oleh Colorado State University Global, 2024. Diubah suai 2024, 25 Februari.
Dalam Python, litar pintas dalam konteks ungkapan bersyarat terkompaun ialah apabila jurubahasa berhenti menilai ungkapan logik sebaik sahaja hasil ungkapan logik ditentukan (Severance, 2016).
Dalam erti kata lain, apabila dalam proses membaca ungkapan logik, jika jurubahasa dapat menentukan hasil ungkapan sebelum sampai ke penghujungnya, ia akan berhenti membaca ungkapan itu. Nota: jurubahasa membaca dari kiri ke kanan .
Ini berlaku apabila menggunakan operator 'dan' dan 'atau' dalam ungkapan. Ini dipanggil penilaian boolean litar pintas. (Hrehirchuk et al, 2024)
Contohnya:
Apabila menggunakan operator 'dan':
a = 1 b = 2 c = 3 d = 4 if a < b and a > c and a < d: #--- Do something
Di sini litar pintas berlaku apabila penterjemah Python berhenti menilai ungkapan logik a < b dan a > c dan a < d pada langkah a > c kerana a > c mengembalikan Salah. Akibatnya, ungkapan a < b dan a > c dan a < d adalah Salah, tidak kira sama ada ungkapan a < d mengembalikan Salah atau Benar.
Apabila menggunakan operator 'atau':
a = 1 b = 2 c = 3 d = 4 if a > b or a < c or a > d: #--- Do something
Di sini litar pintas berlaku apabila penterjemah Python berhenti menilai ungkapan logik a > b atau a < c atau a > d pada langkah a < c kerana a < c kembali Benar. Akibatnya, ungkapan a > b atau a < c atau a > d adalah Benar, tidak kira sama ada ungkapan a> d mengembalikan Salah atau Benar.
Apabila menggunakan gabungan operator logik 'dan' dan 'atau', operator dan mempunyai dahuluan berbanding operator atau. Ini serupa dengan keutamaan pengendali aritmetik antara ‘ ’ dan ‘’, dengan ‘’ mempunyai keutamaan daripada ‘ ’. Jadual di bawah menggambarkan keutamaan pengendali logik menggunakan kurungan.
Jadual 2
Keutamaan Operator Logik
Nota: daripada Bab 40 Ungkapan Boolean dan Operator Litar Pintas — Keutamaan Operator Logik, oleh Kjell, n.d. Diubah suai 2024, 25 Februari.
Kesimpulannya, litar pintas berlaku apabila pengendali logik dan dan atau menentukan apabila penterjemah Python berhenti menilai ungkapan apabila hasilnya jelas. Contohnya, apabila operator 'and' digunakan, ia menghentikan penilaian pada False pertama dan apabila operator 'or' digunakan, ia berhenti pada True pertama, ini meningkatkan kecekapan . Oleh itu, memahami penilaian litar pintas dalam Python adalah penting untuk menulis ungkapan bersyarat yang cekap dan berkesan.
Rujukan:
Colorado State University Global (2024). Modul 3: Memahami struktur kawalan keputusan Python, ITS320: Pengaturcaraan Asas. https://csuglobal.instructure.com/courses/88479/pages/module-3-overview?module_item_id=4620787
Hrehirchuk, M., Chalmers, E., Curtis, C., & Perri, P. (2024, 30 Januari). 5.11 Penilaian litar pintas. Asas pengaturcaraan Python: Berfungsi dahulu. Runestone Acade-my. https://runestone.academy/ns/books/published/foppff/conditionals_short-circuit-evaluation.htmlPautan ke tapak luaran.
Kjell, B.(n.d.). Bab 40 Ungkapan Boolean dan pengendali litar pintas. Keutamaan pengendali logik. Pengenalan kepada sains komputer menggunakan Java. Universiti Negeri Connecticut Tengah. https://chortle.ccsu.edu/java5/Notes/chap40/ch40_16.htmlPautan ke tapak luaran.
Pemisahan, C. (2016, 5 Julai). 4.8. Penilaian litar pintas bagi ungkapan logik._ Python untuk setiap-badan-interaktif_. Akademi Runestone. https://runestone.academy/ns/books/published/py4e-int/conditional/shortCircuit.html
__
Diterbitkan pada asalnya di Short-Circuit in Python’s Compound Conditional Expressions - Medium pada 19 Ogos 2024.
Atas ialah kandungan terperinci Litar Pintas dalam Ungkapan Bersyarat Kompaun Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!