Pythonのif文では、複数の条件を組み合わせて条件分岐を行うことができます。その際に便利なのが、or演算子です。
or演算子は、いずれかの条件がTrueであれば、全体の条件式をTrueと評価します。しかし、このor演算子の使い方には注意が必要です。
以下に間違った例を示します。
if a == 'hoge' or 'fuga':
print('coffee')
else:
print('tea')
このコードでは、aに何を代入しても’coffee’と出力され、else:は無視されます。なぜなら、Pythonではaの値が’hoge’か、もしくは、文字列’fuga’が空でないかと解釈されてしまいます。
if文において、条件が文字列のみの場合は、空でなければTrue、”という風に空ならFalseになるからです。
したがって、正しい例は以下のようになります。
if a == 'hoge' or a == 'fuga':
print('coffee')
else:
print('tea')
これで、aに’hoge’や’fuga’以外を代入すると、’tea’と表示されます。
このように、Pythonのif文でorを使う際は、各条件を明示的に書くことが重要です。また、andなど他の論理演算子でも同じようなミスで意図しない挙動が起きる可能性があるので注意が必要です。
以上、Pythonのif文におけるorの正しい使い方について説明しました。この情報がPythonプログラミングの理解に役立つことを願っています。.