コース一覧
    Python演算子・制御フロー
    三項演算子

    Python演算子・制御フロー

    演算子と条件分岐の使い方を学び、値の比較と分岐を組み合わせた処理を実装できるようにします。

    1
    演算子と式
    01. 比較演算子15分
    02. 論理演算子15分
    03. in演算子15分
    04. 剰余と切り捨て除算15分
    05. 連鎖比較と優先順位15分
    06. 三項演算子15分
    07. つくる:予算チェック15分
    08. 第3章クイズ10分
    2
    条件分岐
    01. if文の基本15分
    02. if / elif / else15分
    03. 条件の組み合わせ15分
    04. match文15分
    05. 定番:FizzBuzz判定15分
    06. デフォルト値とor15分
    07. つくる:カテゴリ自動判定15分
    08. 第4章クイズ10分

    三項演算子

    条件式 (三項演算子) の切り替え

    True と False は、人に見せる言葉ではない

    ここまでの判定は、すべて True か False を返すものでした。しかし画面に True と出しても、読んだ人には何のことか分かりません。本当にほしいのは「オーバー」のような 言葉 です。

    True と False から別の値へ乗り換える道具が 三項演算子 です。書き方は下記のとおりです。

    Python

    値A if 条件 else 値B

    条件が True なら 値A、False なら 値B になります。

    Python

    rest = 0
    print("補充が要る" if rest == 0 else "まだある")

    英語の語順そのままに「A である、もし条件なら、そうでなければ B」と読みます。慣れるまでは真ん中の if から読むのがコツです。まず条件、次に左、最後に右です。

    条件が先に評価され、そのあとで左右のどちらか 片方だけ が採用されます。採用されなかった側は計算すらされません。

    文ではなく、式であること

    三項演算子は 式 です。式とは「計算すると 1 つの値になるもの」で、1 + 2 や count > 0 と同じ仲間です。値なので、そのまま返せますし、f-string の {} の中にも置けます。

    Python

    count = 12
    print(f"記録は {'多い' if count >= 10 else '少ない'} です")

    f-string の {} の中では、外側とは別のクオートを使ってください。外がダブルクオート " なら、内はシングルクオート ' です。同じ種類を重ねると、そこで文字列が終わったと解釈されて SyntaxError になります。

    else は省略できません。省くと SyntaxError です。式は必ず何らかの値にならなければいけないからです。if 条件 then A else B のような語順も Python にはありません。値が先、if、条件、else、値の順です。

    つなげすぎない

    入れ子にもできますが、2 段目からは急に読みづらくなります。三項演算子は 2 択のとき専用 の道具だと考えるのが健全です。3 分岐以上を 1 行に押し込むより、素直に分けたほうが結局は速く仕上がります。

    やってみよう

    関数 budget_label を実装してください。引数は total と budget の 2 つで、total が budget を超えていれば "オーバー"、そうでなければ "予算内" を返します。三項演算子の形で書いてください。

    budget_label(3200, 3000) は "オーバー"、budget_label(2500, 3000) は "予算内" です。ちょうど同じ金額の budget_label(3000, 3000) は、3000 > 3000 が False になるので "予算内" です。境目の扱いは、条件に使う演算子で決まります。

    要件

    1. 関数名は budget_label で、引数は total と budget の2つ
    2. total が budget を超えていれば "オーバー" を返す
    3. それ以外は "予算内" を返す(同額のときも "予算内")
    4. 三項演算子 A if 条件 else B の形で書く

    ヒント

    return "オーバー" if total > budget else "予算内" の1行で書けます

    語順は「値A、if、条件、else、値B」です。条件が先ではありません

    else は省略できません。省くと SyntaxError になります

    同額のときは 予算内 なので、条件は >= ではなく > です

    生田 陸人
    監修生田 陸人
    ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
    編集 ゆめさく編集部·公開 2026/08/05·更新 2026/08/26

    関連レッスン

    • つくる:予算チェック

      第3章の総仕上げ。合計と予算を比べて判定つきの3行を返す check_budget を作る

    • 第3章クイズ

      比較演算子、論理演算子、in、剰余、連鎖比較、三項演算子の理解を5問で確認する

    • if文の基本

      if で条件が成り立つときだけ処理を実行する書き方と、インデントの意味を学ぶ

    このレッスンに出てくる用語

    意味があいまいなまま進んだ語は、ここから読み直せます。

    • 三項演算子値1 if 条件 else 値2 の形式。
    • 演算子//は切り捨て除算(7 // 2 = 3)。
    • 評価出力品質を数値化して継続改善する活動
    • f-stringf"..." で変数を埋め込む文字列記法
    • 関数処理に名前を付けて再利用できる単位
    • 引数位置引数=順番で渡す。
    main.py
    エディタを読み込んでいます

    メモ

    三項演算子

    ⌘S で保存