
スポンサーリンク
Pythonの三項演算子を使うと、if文を1行で実装することができます。
構文
構文は以下の通りです。
[変数名] = [条件がTrueのときの設定値] if [条件] else [条件がFalseのときの設定値]
実装例
以下は通常の実装で奇数偶数を判定する実装例です。
num = 5if num % 2 == 0: result = "偶数"else : result = "奇数"print(result)
上記プログラムの実行結果は以下の通りです。
$ python example1.py奇数
三項演算子に変換すると以下のようになり、1行で記載できます。
num = 6result = "偶数" if num % 2 == 0 else "奇数"print(result)
上記プログラムの実行結果は以下の通りです。
$ python example2.py偶数
リスト内包表記の例
以下のように、三項演算子は内包表記と組み合わせて記述することもできます。
numbers = [1, 2, 3, 4, 5]result = ["偶数" if num % 2 == 0 else "奇数" for num in numbers]print(result)
上記プログラムの実行結果は以下の通りです。
$ python example3.py['奇数', '偶数', '奇数', '偶数', '奇数']
Noneチェックの例
以下のように変数の中身がNoneであるかのチェックにも活用できます。
name = Nonegreeting = name if name is not None else "ゲスト"print(greeting)
上記プログラムの実行結果は以下の通りです。
$ python example4.pyゲスト
ネストされた三項演算子
三項演算子は入れ子にすることもできますが、可読性が低下する可能性があり、三項演算子の実装はお勧めしません。
x = 10y = 20result = "xが大きい" if x > y else "同じ" if x == y else "yが大きい"print(result)
上記プログラムの実行結果は以下の通りです。
$ python example5.pyyが大きい
まとめ
シンプルな実装
: Pythonの三項演算子を使うと、if条件に基づく値設定を簡潔に実装することができます。可読性
: 短い条件やシンプルなロジックには適していますが、複雑なロジックでは可読性が低下します。この場合、通常のif-else文を使用した方が良いでしょう。複雑な条件
: 複雑な条件を入れると混乱しやすくなるため、コメントを追加するか、コードを分割することを検討してください。
コードの可読性を維持するために、使用する場面を慎重に選びましょう!
以上で本記事の解説を終わります。
よいITライフを!