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
を活用し、シンプルで効率的な条件判定を行いましょう。