この記事では、複合条件式における Python の短絡評価が、結果が決定したらすぐに評価を停止することで効率を高める方法について説明します。
Python の複合条件式におけるショートサーキットの概念を理解するには、論理演算子 'and' と 'or' に精通することが重要です。以下の表は、これらの演算子の論理的な結果をまとめたものです。
表 1
「and」演算子と「or」演算子
注: モジュール 3: Python 意思決定制御構造の理解、ITS320: 基本プログラミング、コロラド州立大学グローバル、2024 年より。2024 年 2 月 25 日に修正。
Python では、複合条件式のコンテキストにおける短絡とは、論理式の結果が決定されるとすぐにインタープリターが論理式の評価を停止することです (Severance、2016)。
言い換えると、論理式を読み取る過程で、インタプリタが式の終わりに到達する前に式の結果を判断できた場合、式の読み取りを停止します。注: インタプリタは左から右に読み取ります。 .
これは、式で演算子「and」および「or」を使用すると発生します。これはショートサーキットブール評価と呼ばれます。 (Hrehirchuk et al、2024)
例:
「and」演算子を使用する場合:
a = 1 b = 2 c = 3 d = 4 if a < b and a > c and a < d: #--- Do something
ここでは、Python インタプリタが論理式 a < の評価を停止すると、ショートサーキットが発生します。 bとa> c と a <ステップaのd> c なぜなら、a > c は False を返します。したがって、式 a < bとa> c と a < d は False です。式 a <🎜 かどうかは関係ありません。 d は False または True を返します。
「or」演算子を使用する場合:
a = 1 b = 2 c = 3 d = 4 if a > b or a < c or a > d: #--- Do something
ここでは、Python インタプリタが論理式 a > の評価を停止するとショートサーキットが発生します。 b または a ステップaのd< c は となる。 b または a d は True です。式 a> がTrue であるかどうかは問題ではありません。 d は False または
Trueを返します。 「and」と「or」論理演算子の組み合わせを使用する場合、and 演算子は or 演算子よりも優先されます。これは、「 」と「
」の間の算術演算子の優先順位に似ています。ここで、「」は「 」よりも優先されます。以下の表は、括弧を使用した論理演算子の優先順位を示しています。表 2
論理演算子の優先順位
注: 第 40 章「ブール式と短絡演算子 — 論理演算子の優先順位」より (Kjell、ND) 2024 年 2 月 25 日修正。
結論として、ショートサーキットは、論理演算子 and および or が、結果が明確になった後で Python インタプリタが式の評価を停止するタイミングを決定するときに発生します。たとえば、演算子「and」を使用すると最初の False で評価が停止し、演算子「or」を使用すると最初の True で評価が停止するため、効率が向上します。 。したがって、効率的かつ効果的な条件式を作成するには、Python での短絡評価を理解することが重要です。
参考文献:
コロラド州立大学グローバル (2024)。 モジュール 3: Python 意思決定制御構造を理解する、ITS320: 基本プログラミング。 https://csuglobal.instructor.com/courses/88479/pages/module-3-overview?module_item_id=4620787
Hrehirchuk, M.、Chalmers, E.、Curtis, C.、Perri, P. (2024 年 1 月 30 日)。 5.11 短絡評価。 Python プログラミングの基礎: まずは関数。ルーンストーンアカデミー-my。 https://runestone.academy/ns/books/published/foppff/conditionals_short-circuit-evaluation.html外部サイトへのリンク
ケル、B.(死亡)。第 40 章 ブール式と短縮演算子。 論理演算子の優先順位。 Java を使用したコンピューター サイエンスの入門。中央コネチカット州立大学。 https://chortle.ccsu.edu/java5/Notes/chap40/ch40_16.html外部サイトへのリンク
セブランス、C. (2016 年 7 月 5 日)。 4.8.論理式の短絡評価。_ Every-body-interactive 用の Python_。ルーンストーンアカデミー。 https://runestone.academy/ns/books/published/py4e-int/conditional/shortCircuit.html
__
元々は、2024 年 8 月 19 日に Short-Circuit in Python の Compound Conditional Expressions - Medium で公開されました。
以上がPython の複合条件式のショートサーキットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。