ホームページ > バックエンド開発 > Python チュートリアル > Python の複合条件式のショートサーキット

Python の複合条件式のショートサーキット

Susan Sarandon
リリース: 2024-12-15 03:00:13
オリジナル
795 人が閲覧しました

この記事では、複合条件式における Python の短絡評価が、結果が決定したらすぐに評価を停止することで効率を高める方法について説明します。


Python の複合条件式におけるショートサーキットの概念を理解するには、論理演算子 'and' と 'or' に精通することが重要です。以下の表は、これらの演算子の論理的な結果をまとめたものです。

表 1
「and」演算子と「or」演算子
Short-Circuit in Python’s Compound Conditional Expressions
: モジュール 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
論理演算子の優先順位
Short-Circuit in Python’s Compound Conditional Expressions

注: 第 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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート