or | 論理「または」 | Python予約語 徹底解説 使い方と注意点

現在作成中です。今後加筆修正してまいります。
スポンサーリンク
スポンサーリンク

Pythonの予約語「or」の解説

orとは何か

orは、Pythonの論理演算子で、2つ以上の条件のいずれかがTrueであればTrueを返すために使用されます。複数の条件を評価し、そのうちの1つでも成立すれば、全体がTrueと評価されます。もし全ての条件がFalseであれば、Falseが返されます。

orの基本的な使い方

以下の例は、orを使って複数の条件を評価する基本的な使い方を示しています。

x = 5
y = 10

if x > 0 or y > 20:
    print("条件の1つが真です")  # 出力: 条件の1つが真です

この例では、x > 0Trueであるため、全体の条件がTrueと評価され、"条件の1つが真です"というメッセージが出力されます。

orを使った条件分岐

orは、条件分岐の中で複数の条件のいずれかが成立した場合に特定の処理を実行したいときに役立ちます。次の例では、ユーザーの入力が特定の条件を満たしているかどうかを確認しています。

username = "admin"
password = "1234"

if username == "admin" or password == "admin123":
    print("ログイン成功")
else:
    print("ログイン失敗")

この例では、ユーザー名が"admin"であるため、条件がTrueとなり、"ログイン成功"が出力されます。もしどちらの条件もFalseなら、"ログイン失敗"が出力されます。

orの短絡評価(ショートサーキット評価)

Pythonのor演算子は短絡評価(ショートサーキット評価)を行います。これは、最初の条件がTrueの場合、残りの条件は評価されず、すぐにTrueが返されます。次の例で動作を確認してみましょう。

def expensive_function():
    print("この関数は実行されません")
    return True

x = True
if x or expensive_function():
    print("条件がTrueのため、関数は実行されません")  # 出力: 条件がTrueのため、関数は実行されません

この例では、最初の条件xTrueであるため、expensive_function()は実行されません。これが短絡評価の特徴です。

orの動作まとめ

以下に、or演算子の基本的な動作をまとめた表を示します。

条件式 結果
True or False True
False or True True
False or False False
True or True True

orとブールコンテキスト

Pythonでは、任意のオブジェクトに対してもorを使うことができ、オブジェクトの「真偽値コンテキスト」に基づいて結果が返されます。orの演算子は最初にTrueと評価されるオブジェクトを返し、すべてがFalseであれば最後のオブジェクトを返します。

例: オブジェクトに対するorの使用

a = None
b = "Python"

result = a or b
print(result)  # 出力: Python

この例では、aNoneFalseと評価されるため、bが返されます。

まとめと注意点

  • orは、複数の条件のうち1つでもTrueであればTrueを返します。
  • Pythonでは、or演算子は短絡評価を行い、最初にTrueが見つかると残りの条件は評価されません。
  • ブールコンテキストに基づいて、orは任意のオブジェクトを評価し、最初にTrueと評価されるオブジェクトを返します。
  • 複雑な条件式を簡潔にまとめたい場合にorが有効です。