INDEX
orの概要
| 論理和(ブール演算) Python予約語 | ||
|
or 概要 わかりやすく説明 |
||
|
orの基本的な使い方
以下の例では、2つの条件のうち1つでも成立すれば処理を実行します。
# or を使った条件分岐
is_admin = True
is_logged_in = False
if is_admin or is_logged_in:
print("管理画面にアクセスできます")
is_adminがTrueのため、orにより全体がTrueになります。- 「管理画面にアクセスできます」と表示されます。
orを使った複数条件の判定
2つの条件のうちどちらかが成立すれば処理を実行する例です。
# いずれかの条件が成立すれば処理を実行
age = 17
has_permission = True
if age >= 18 or has_permission:
print("このコンテンツにアクセスできます")
- 年齢が18歳未満(
age >= 18はFalse)。 - ただし、
has_permissionがTrueのため、全体はTrueになります。
orを使ったデフォルト値の設定
or はデフォルト値を設定する際にも利用できます。
# or を使ったデフォルト値の設定
username = "" or "ゲスト"
print(username) # ゲスト
- 左側の値(
"")がFalse(空文字はFalseと評価される)。 - そのため、右側の「ゲスト」が代入される。
orの短絡評価(ショートサーキット評価)
or は最初に True になった時点で評価を終了します。
# or の短絡評価
def check():
print("check() が実行されました")
return True
result = True or check()
print(result) # True (check() は実行されない)
- 最初の
Trueで評価が終了するため、check()は実行されません。
orを使ったリストのチェック
リストの要素が特定の値を含んでいるかを判定する例です。
# or を使ったリストの要素チェック
fruits = ["りんご", "バナナ", "オレンジ"]
if "いちご" in fruits or "バナナ" in fruits:
print("指定されたフルーツが見つかりました")
- 「いちご」はリストにないが、「バナナ」があるため
orにより全体がTrueとなる。
orの注意点
- 短絡評価が行われる: 最初に
Trueが見つかると、残りの条件は評価されません。 - 数値と組み合わせると、0 を False として扱う:
0 or 100は100になります。 - 文字列やリストの空チェックに使える:
orを使うことで、空の値にデフォルト値を設定できます。
orのよくある質問
- Q: or を使うときにカッコ(括弧)を付けるべき?
- A: 複雑な条件ではカッコを付けると可読性が向上します(例:
if (a > 5 or b < 10) and c == 3:)。 - Q: or の短絡評価を利用するメリットは?
- A: 計算コストの高い処理を無駄に実行しないようにでき、処理速度が向上します。
- Q: 数値で or を使うとどうなる?
- A:
0 or 10は10になります(0はFalseとして評価されるため)。
まとめ
or は、2つ以上の条件のいずれかが True なら全体を True にする論理演算子です。
- 複数の条件を組み合わせる際に便利。
- 短絡評価により、不要な処理をスキップできる。
- デフォルト値の設定やリストの要素チェックにも利用可能。
適切に or を活用し、シンプルで効率的な条件判定を行いましょう。