Python での比較演算子の連結

Isaac Tony 2022年4月3日
Python での比較演算子の連結

比較は、すべてのプログラミング言語の重要な部分です。

Python では、値の比較に比較演算子が使用され、テストされる条件に応じて True または False が返されます。これらの条件には、左側または右側の値が特定の値と等しいか、大きいか、または小さいかを確認することが含まれます。

優先順位のある算術演算子とは異なり、比較演算子の優先順位は同じであり、ビット演算子や算術演算子などの他の演算子よりも優先順位が低くなります。

比較演算子は数値型に限定されず、シーケンス型、セット型、ブール値を比較することもできます。

通常、比較演算子は論理演算子を使用して結合され、条件ステートメントを形成します。比較演算子は、if ステートメントおよび forwhile ループなどのループと一緒に使用することもできます。

以下の例では、比較演算子を論理演算子とともに使用して、2つの算術値の同等性をテストする条件ステートメントを形成しています。

x = 5
y = 7
z = 10

if y > x and z > y:
    print("z is the greatest number")
else:
    print("z is not the greatest number")

出力:

z is the greatest number

次の例に示すように、論理演算子と比較演算子を同時に使用する代わりに、演算子をチェーン化できます。この方法は、より正確で理解しやすいものです。

x = 5
y = 7
z = 10

if x < z > y:
    print("z is the greatest number")
else:
    print("z is not the greatest number")

出力:

z is the greatest number

上記の例では、比較演算子を連鎖させて、z が最大数であるかどうかを判断しています。同様に、比較演算子は、等しい演算子と等しくない演算子を使用して、特定の数値が等しいかどうかを判断できます。

length = 23
height = 23
width = 6

if length == height and height == width and width == length:
    print("This is a cube")

else:
    print("This is a cuboid")

出力:

This is a cuboid

上記のコードでは、heightwidth、および length が 2 回評価されてから、すべての比較サイクルが完了します。

ただし、演​​算子を任意にチェーンすることで、以下の例に示すように、上記のコードをより正確に書き直すことができます。以下の例では、式を 1 回だけ評価しました。

if length == height == width:
    print("This is a cube ")

else:
    print("This is a cuboid ")

出力:

This is a cuboid 

連鎖演算子の概念を使用して、特定の値のシーケンスが等しいことを確認することもできます。以下の例では、値をチェーン化することにより、3つの異なる値の同等性を簡単にテストします。

a = 3
b = 5
c = 9

if a == b == c:
    print("All the variables are equal")
else:
    print("Variable are not the same")

出力:

Variable are not the same

等式演算子は推移的であるため、a == b および b == c の場合、b の値は c と等しくなければならないと結論付けることができます。

ただし、非等価性のテストに使用される演算子!= などの非推移的な比較演算子では、同じ等価性または非等価性を暗示することはできないため、注意が必要です。

同様に、< 演算子をチェーンして、シーケンス内の数値が厳密に昇順であるかどうかを判断することもできます。

a = 3
b = 5
c = 9
d = 11
e = 13


if a < b < c < d < e:
    print("This is an ascending sequence of numbers")
else:
    print("This is not an ascending sequence of numbers")

出力:

This is an ascending sequence of numbers
著者: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

関連記事 - Python Operator