Python
では、三項条件演算子(または条件式)を使用して、簡潔に条件分岐を記述できます。三項条件演算子は、バージョン2.5以降で導入され、a if condition else b
という形式で使用します。この構文は、従来のif-else文を1行で記述できるため、短く読みやすいコードを書く際に非常に役立ちます。
三項条件演算子の構文
x = a if condition else b
この形式では、condition
が真ならa
が返され、偽ならb
が返されます。例えば、次のコードを見てみましょう。
x = "positive" if y > 0 else "negative"
この場合、y
が0より大きいならx
には”positive”が代入され、そうでなければ”negative”が代入されます。
使い方の例
基本的な例
x = 10
result = "Even" if x % 2 == 0 else "Odd"
print(result) # 出力: Even
この例では、x
が偶数の場合に”Even”、奇数の場合に”Odd”を返します。
入れ子の条件式
三項条件演算子は入れ子にもできます。ただし、コードが読みづらくなるため、慎重に使用すべきです。
x = 5
result = "positive" if x > 0 else "zero" if x == 0 else "negative"
print(result) # 出力: positive
この場合、まずx > 0
がチェックされ、次にx == 0
が確認されます。
他の言語との違い
Python
の三項条件演算子は、C言語やJavaScriptなどで使用される 条件 ? 真の値 : 偽の値
とは異なり、a if condition else b
という逆の順序で記述されます。この違いにより、他の言語からPython
に移行する際には慣れが必要です。
三項条件演算子のメリットとデメリット
- メリット
コードを簡潔に記述でき、可読性を向上させる場面があります。特に短い条件式で有用です。 - デメリット
複雑な条件や多くの入れ子を使うと、コードが読みづらくなります。そのため、複雑なロジックには従来のif-else文を使う方が良い場合があります。
結論
Python
の三項条件演算子は、簡潔に条件分岐を記述できる便利な機能です。特にシンプルな条件式や短いコードが必要な場面で効果を発揮します。しかし、複雑な条件では、伝統的なif-else文の方が可読性が高くなるため、場面に応じて適切に使い分けましょう。