カテゴリ: Python 更新日: 2025/12/12

Pythonの三項演算子(条件式)とは?一行で条件分岐を記述する方法

Pythonの三項演算子(条件式)とは?一行で条件分岐を記述する方法
Pythonの三項演算子(条件式)とは?一行で条件分岐を記述する方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonで、もし〇〇なら〜、そうじゃなかったら〜って、短く書く方法ってあるんですか?」

先生

「ありますよ。Pythonでは『三項演算子』という便利な書き方を使えば、一行で条件分岐を表現できます。」

生徒

「えっ?一行で?どういうことか、もう少し詳しく教えてもらえますか?」

先生

「もちろんです。初心者でもわかるように、三項演算子の使い方を基本から丁寧に説明しますね。」

1. 三項演算子(条件式)とは?

1. 三項演算子(条件式)とは?
1. 三項演算子(条件式)とは?

Python(パイソン)には、三項演算子と呼ばれる特別な書き方があります。これは、「もし〜なら〇〇、そうでなければ△△」という条件分岐を、たった1行で書ける便利な構文です。

ふつうの条件分岐(if文)では、次のように複数行で書きます:


age = 18
if age >= 20:
    message = "大人です"
else:
    message = "未成年です"

このように、ifelseを使って2つの条件に分けています。ですが、三項演算子を使うと、次のように1行で書けます:


message = "大人です" if age >= 20 else "未成年です"

とてもコンパクトですよね!これが、Pythonの三項演算子(条件式)です。

2. 三項演算子の基本構文を覚えよう

2. 三項演算子の基本構文を覚えよう
2. 三項演算子の基本構文を覚えよう

三項演算子の書き方は、次のような順番になります:

「真の場合の値」 if 「条件」 else 「偽の場合の値」

ポイントは、「もし条件が真(True)なら、〇〇を使う。そうじゃなければ△△を使う」という意味になります。

たとえば、Pythonでお店の割引を考えるとしましょう。


price = 1000
member = True

final_price = price * 0.9 if member else price
print(final_price)

900.0

member(会員)がTrueなら10%引き、そうでなければ定価、という処理になります。

3. 三項演算子はどんなときに使うの?

3. 三項演算子はどんなときに使うの?
3. 三項演算子はどんなときに使うの?

三項演算子は、次のような場面でよく使われます:

  • ちょっとした条件によって値を決めたいとき
  • 変数の値を条件付きで代入したいとき
  • 複数行書くほどではない簡単な条件分岐のとき

逆に、複雑な処理や複数の条件がある場合は、普通のif文を使ったほうが読みやすいです。

4. 三項演算子の具体的な使用例を見てみよう

4. 三項演算子の具体的な使用例を見てみよう
4. 三項演算子の具体的な使用例を見てみよう

例1:試験の点数によって合格・不合格を判定する


score = 75
result = "合格" if score >= 60 else "不合格"
print(result)

合格

例2:偶数か奇数かを判定する


num = 7
kind = "偶数" if num % 2 == 0 else "奇数"
print(kind)

奇数

例3:ログインしているかどうかで表示メッセージを切り替える


logged_in = False
message = "ログイン済み" if logged_in else "ログインしてください"
print(message)

ログインしてください

5. 三項演算子の注意点

5. 三項演算子の注意点
5. 三項演算子の注意点

三項演算子は便利ですが、いくつか注意点もあります。

  • 複雑な条件には向いていません。長くなりすぎると逆に読みづらくなります。
  • Python以外の言語では文法が違う場合もあるので、Python独自の書き方だと理解して使いましょう。

たとえば、次のように条件をネスト(入れ子)して使うと、初心者にはかなり読みにくくなります:


result = "優" if score >= 80 else "良" if score >= 60 else "不可"

このような複雑な三項演算子は、あまりおすすめできません。なるべくシンプルに使いましょう。

6. 三項演算子を使わずに同じ処理をする場合

6. 三項演算子を使わずに同じ処理をする場合
6. 三項演算子を使わずに同じ処理をする場合

三項演算子を使わない場合、次のようにifelseを使って複数行で書きます:


score = 75

if score >= 60:
    result = "合格"
else:
    result = "不合格"

print(result)

合格

このように、三項演算子は同じことをもっと簡潔に書ける手段ということがわかりますね。

7. よくある間違いと初心者のつまずきポイント

7. よくある間違いと初心者のつまずきポイント
7. よくある間違いと初心者のつまずきポイント

初心者が三項演算子を使うときに、よくある間違いをご紹介します:

  • 「条件」 if 「真の場合」 else 「偽の場合」と、順番を間違える
  • ifelseを省略してエラーになる
  • 条件の判定がTrueFalseでどう分かれるかを理解していない

三項演算子はあくまでも「値を返す」ものなので、「〇〇をする」ではなく「〇〇になる」と覚えると理解しやすくなります。

まとめ

まとめ
まとめ

Pythonの三項演算子(条件式)の考え方を振り返ろう

この記事では、Pythonにおける三項演算子(条件式)について、基本から具体例、注意点まで丁寧に学んできました。 三項演算子は、「もし条件が成り立つならこの値、そうでなければ別の値」という分岐を、 一行で簡潔に表現できるPythonらしい便利な書き方です。 通常のif文と比べるとコード量が減り、シンプルな条件分岐であればとても読みやすくなります。 Python初心者にとっては最初は少し独特な構文に感じるかもしれませんが、 書き方のルールと意味を正しく理解すれば、日常的に使える強力な道具になります。

三項演算子の最大の特徴は、「処理を書く」のではなく「値を返す」という点にあります。 if文は条件によって処理の流れを分ける構文ですが、 三項演算子は条件によってどの値を使うかを決めるための式です。 そのため、変数への代入や、計算結果の切り替え、表示用メッセージの分岐など、 比較的シンプルな場面で使われることが多いのが特徴です。

if文との使い分けが大切な理由

三項演算子は非常に便利ですが、すべての条件分岐を置き換えるものではありません。 条件が複雑になったり、処理内容が多くなったりすると、 一行で書かれた条件式はかえって読みにくくなります。 そのような場合は、無理に三項演算子を使わず、 通常のif文やelif、elseを使ったほうが可読性が高くなります。 「短く書けるから使う」のではなく、「読みやすいかどうか」を基準に使い分けることが重要です。

特に初心者のうちは、三項演算子をネスト(入れ子)して使う書き方は避けたほうがよいでしょう。 条件式が連続すると、どの条件でどの値が返るのかが直感的に分かりにくくなります。 Pythonは「読みやすさ」を重視する言語なので、 将来の自分や他人が見たときに理解しやすいコードを書く意識を持つことが大切です。

三項演算子を使ったサンプルプログラム

ここで、三項演算子の基本的な使い方を改めて確認できるサンプルプログラムを見てみましょう。 ユーザーの点数によって評価メッセージを切り替える、よくある例です。


score = int(input("点数を入力してください:"))
message = "合格です" if score >= 60 else "不合格です"
print(message)

このように、条件によって代入する値を切り替えたいだけの場合、 三項演算子を使うと非常にスッキリとしたコードになります。 if文で書いた場合と処理内容は同じでも、 コードの見た目や書き方が大きく変わる点がよく分かります。

三項演算子を理解することで広がるPythonの表現力

三項演算子を正しく使えるようになると、 Pythonで書けるコードの表現力が一段階レベルアップします。 条件分岐を「処理の流れ」としてだけでなく、 「値を決める仕組み」として捉えられるようになるためです。 これは、リスト内包表記や関数の戻り値、表示用の文字列生成など、 さまざまな場面で役立つ考え方です。

Pythonの三項演算子は、シンプルでありながら奥が深い構文です。 基本形をしっかり身につけ、適切な場面で使えるようになることで、 より読みやすく、洗練されたPythonコードが書けるようになります。

先生と生徒の振り返り会話

生徒「三項演算子って、最初は難しそうに見えましたけど、意味が分かると便利ですね。」

先生「そうだね。短い条件分岐にはとても向いている書き方なんだ。」

生徒「if文と違って、値を決めるための書き方だっていうのが印象的でした。」

先生「そこに気づけたのは大きいよ。使い分けができると、コードがぐっと読みやすくなる。」

生徒「無理に一行で書こうとしないことも大事なんですね。」

先生「その通り。Pythonでは、分かりやすさを大切にしながら三項演算子を活用していこう。」

カテゴリの一覧へ
新着記事
New1
Flask
FlaskでSQLインジェクションを防ぐ方法!初心者でもわかる安全なデータベース操作
New2
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方
New3
Flask
Flask×Flask-SocketIOでチャットアプリを作る流れを初心者向けにやさしく解説
New4
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.7
Java&Spring記事人気No7
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説
No.8
Java&Spring記事人気No8
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本