Categories: Python

【Python】三項演算子を使ってif文を1行で記述する

この記事では、Pythonの三項演算子の使い方を解説します。

三項演算子とは、簡単な条件分岐を1行で記述するための機能です。通常のif文と異なるのは条件によって返された値を直接変数に代入できることです。

それでは、サンプルを交えて三項演算子の使い方を見ていきましょう!

三項演算子の使い方

三項演算子は、ifelseを使って以下のように記述します。

変数 = 条件式がTrueの時に代入される値 if 条件式 else 条件式がFlaseの時に代入される値

以下のコードは、input()関数で受け取った整数が奇数か偶数かをif文を使って判定して出力するコードです。

num = int(input('int: ')) if num % 2 == 0: text = '偶数' else: text = '奇数' print(text)

このコードを三項演算子を使って書き直すと、以下のようになります。

num = int(input('int: ')) # 三項演算子 text = '偶数' if num % 2 == 0 else '奇数' print(text)

このように、三項演算子を使うことでifの部分を1行で表現することができました。また、条件分岐の結果を直接変数に代入できました。

代入しない三項演算子

三項演算子は結果を変数に代入しなくても問題ありません。以下のコードでは、値を返さずにそのままprint()関数で出力しています。

num = int(input('int: ')) print('偶数') if num % 2 == 0 else print('奇数')

実行結果

int: 312 偶数

さらに複雑な三項演算子

三項演算子は、if-elif-elseを1行で表現することができます。

条件式1がTrueの時に評価される式 if 条件式1 else 条件式1がFalseかつ条件式2がTrueの時に評価される式 if 条件式2 else 条件式1、条件式2がFalseの時に評価される式

以下のコードでは、numの値が1か2かそれ以外かを判定しています。

num = 1 s = 'numは1' if num == 1 else 'numは2' if num == 2 else 'numは1,2以外' print(s)

実行結果

numは1 # num = 1 numは2 # num = 2 numは1,2以外 # num = 3

if 条件式 elseを繋げることで条件を増やせますが、直感的にわかりづらいので注意しましょう!

まとめ

この記事では、Pythonの三項演算子の使い方について解説しました。

三項演算子を使うことでif文を1行で記述することができます。単純なif文は、三項演算子を使って書いた方がすっきりしたコードにすることができます。

また、1行で記述しなければいけない場合(ラムダ式とか)に使用しましょう!

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

  • 条件式 - 式 (expression) — Python ドキュメント
  • PEP 308 -- Conditional Expressions | Python.org
ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

View Comments

    Recent Posts

    【Unity】BGMやSEを再生する方法

    この記事では、UnityでBGMやSEな…

    6日 ago

    【Unity】オブジェクトが見えているかどうかを判別する方法

    この記事では、特定のオブジェクトがカメラ…

    2週間 ago

    【Unity】アセットストアにあるアセットを追加・使用する方法

    この記事では、Unityのアセットストア…

    3週間 ago

    【Unity】値が変更された際に処理を実行したい

    この記事では、値が変更された際に何かしら…

    3週間 ago

    【Unity】クラスのパラメータをインスペクターから調整したい

    この記事では、定義したクラスをインスペク…

    3週間 ago

    【Unity】スプライト(画像)を差し替える方法

    この記事では、Unityでスプライト(画…

    3週間 ago