カテゴリ: Python 更新日: 2026/05/12

Pythonのif文の基本!条件分岐の書き方とelifの使い方

Pythonのif文の基本!条件分岐の書き方とelifの使い方
Pythonのif文の基本!条件分岐の書き方とelifの使い方

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

生徒

「Pythonで、条件によって処理を変えたいときはどうすればいいんですか?」

先生

「それにはif文という条件分岐の仕組みを使います。Pythonではとてもシンプルに書けますよ。」

生徒

「あと、elifっていうのも見たことがあります。ifと何が違うんですか?」

先生

「その違いも含めて、if文の基本から順番にやさしく解説していきましょう。」

1. Pythonのif文とは?条件に応じて処理を分ける

1. Pythonのif文とは?条件に応じて処理を分ける
1. Pythonのif文とは?条件に応じて処理を分ける

if文(いふぶん)とは、「もし〜なら〜する」というように、条件に応じてプログラムの動きを分ける方法です。これを条件分岐といいます。

たとえば「年齢が20歳以上なら入場OK、そうでなければNG」といった判断ができます。現実の「合格・不合格」「ログインOK・NG」などの判定にも同じ考え方が使われます。

まずは、条件が当てはまったときだけ処理が動く、いちばん基本の形を見てみましょう。


age = 18
if age >= 20:
    print("入場できます")

(何も表示されない)

解説:ifの後ろには「条件」を書きます。この例の条件はage >= 20(ageが20以上)です。条件が正しいときはTrueになり、字下げ(インデント)された行が実行されます。逆に、条件が正しくないときはFalseになり、ifの中の処理はスキップされます。

今回はageが18なので条件を満たさず、printが実行されないため何も表示されません。

2. elseを使って「そうでないとき」の処理を書く

2. elseを使って「そうでないとき」の処理を書く
2. elseを使って「そうでないとき」の処理を書く

ifの条件に当てはまらなかった場合に、別の処理をしたいときはelseを使います。

elseは「そうでなければ」という意味で、ifがFalseだったときにだけ実行されます。つまり、必ずどちらか一方(if側かelse側)だけが動くので、結果がわかりやすくなります。


age = 18
if age >= 20:
    print("入場できます")
else:
    print("未成年のため入場できません")

未成年のため入場できません

解説:この例ではageが18なので、age >= 20はFalseになります。そのため、ifの中のprint("入場できます")は実行されず、代わりにelseの中が実行されて「未成年のため入場できません」と表示されます。

「条件に合うときはA、合わないときはB」と2択で処理を分けたい場面(合格/不合格、ログイン成功/失敗など)で、elseはよく使われます。

3. elifで条件をさらに追加する

3. elifで条件をさらに追加する
3. elifで条件をさらに追加する

elifは「else if」の略で、「もしこれなら…それでもなければ…」と条件を追加して分岐できる書き方です。ifだけだと2択になりがちですが、elifを使うと「Aならこう、Bならこう、それ以外は…」という形にできます。

ポイントは、上から順番にチェックして、最初に当てはまった1つだけが実行されることです。つまり、途中で条件に当てはまったら、その下のelifはもう見に行きません。


age = 17
if age >= 65:
    print("シニア料金です")
elif age >= 20:
    print("通常料金です")
else:
    print("学生料金です")

学生料金です

解説:この例では、まずage >= 65を確認しますが17なのでFalseです。次にage >= 20もFalseになります。最後まで当てはまらなかったため、elseが実行されて「学生料金です」と表示されます。

このように、elifは「条件がいくつかあるときに順番に判定したい」場面(年齢区分、点数評価、入力内容のチェックなど)でよく使われます。

4. インデント(字下げ)がとても重要!

4. インデント(字下げ)がとても重要!
4. インデント(字下げ)がとても重要!

Pythonでは、インデント(行の先頭をスペースで下げること)が文法の一部です。多くの言語のように波かっこ({ })で囲む代わりに、インデントの位置で「どこまでがifの中か」を判断します。

if文やelse文のあとには「:」(コロン)を書き、その次の行は必ず字下げして書きます。逆に、字下げを戻すと「ifの外の処理」に切り替わります。

インデントがズレると、エラーになったり、意図しない場所が実行されたりするので注意が必要です。


x = 10
if x > 5:
    print("5より大きい")
print("条件とは関係ない行")

5より大きい
条件とは関係ない行

解説:print("5より大きい")はインデントされているので、x > 5のときだけ実行されます。一方、次のprint("条件とは関係ない行")はインデントが戻っているため、ifの条件に関係なく毎回実行されます。

この「インデントでまとまりを作る」書き方に慣れると、条件分岐の流れが読みやすくなります。

5. 複数の条件を同時にチェックする(and / or)

5. 複数の条件を同時にチェックする(and / or)
5. 複数の条件を同時にチェックする(and / or)

if文では、and(かつ)or(または)を使って、複数の条件を1つのif文でまとめて判定できます。これにより、「条件が増えてもif文が増えすぎない」読みやすい書き方ができます。

andは「両方とも当てはまるか」、orは「どちらか一方でも当てはまるか」をチェックするイメージです。日常の「〜かつ〜」「〜または〜」と同じ感覚で考えると理解しやすくなります。


age = 22
student = True

if age < 25 and student:
    print("学割が使えます")

学割が使えます

解説:この例では「25歳未満であること」と「学生であること」の2つが同時にTrueのときだけ、学割が使えると判断しています。どちらか一方でもFalseなら、ifの中は実行されません。

一方、orを使うと「どちらかの条件を満たせばOK」という判定になります。入場条件や割引条件など、柔軟なルールを作りたいときに便利です。

6. 数値以外でも使えるif文の例

6. 数値以外でも使えるif文の例
6. 数値以外でも使えるif文の例

if文は数字だけでなく、文字列やブール値(TrueFalse)にも使えます。


answer = input("Pythonは好きですか? (yes/no):")
if answer == "yes":
    print("ありがとうございます!")
else:
    print("これから好きになってくれると嬉しいです")

Pythonは好きですか? (yes/no):yes
ありがとうございます!

7. if文のネスト(入れ子)にも注意

7. if文のネスト(入れ子)にも注意
7. if文のネスト(入れ子)にも注意

if文の中にさらにif文を書くこともできます。これをネスト(入れ子)といいます。


age = 25
gender = "male"

if age >= 20:
    if gender == "male":
        print("成人男性です")

成人男性です

ネストが深くなると見にくくなるので、必要なときだけ使うのがポイントです。

まとめ

まとめ
まとめ

Pythonのif文は、条件によって処理を分岐させるための最も基本でありながら重要な文法です。「もし〜なら〜する」といった形で処理の流れを制御できるため、実際のプログラムでも頻繁に使われます。たとえば、年齢や入力内容によって出力を変える、ログインの成否を判定する、複数の選択肢の中から適切な処理を選ぶなど、実生活に近い場面をコードで表現する際に大活躍します。

今回の記事では、if文の基本から始まり、elseを使った「そうでなければ」の書き方、elifによる複数条件の分岐、さらにはandやorで条件を組み合わせる方法まで、丁寧に段階を追って紹介しました。特にif文はインデント(字下げ)が文法の一部になっているため、見た目だけでなく動作にも直接影響します。スペースを入れ忘れたり、インデントがズレていたりするとエラーになることも多いので、習慣的に正しい書き方を身につけておくと安心です。

また、Pythonでは数値だけでなく、文字列やTrue/False(ブール値)を条件に使うこともできます。これにより、ユーザーの入力に応じて動作を変えるインタラクティブなプログラムも作れるようになります。さらに、if文の中に別のif文を入れる「ネスト(入れ子)」も理解しておけば、より複雑な条件判定も書けるようになり、実用的なコードが書ける力がついていきます。

最後に、Pythonのif文はシンプルで直感的に書ける反面、条件の設計ミスやインデント忘れによるエラーが起こりやすいため、最初のうちはゆっくり丁寧にコードを書くことが大切です。以下に、この記事で学んだ知識を総復習するような簡単なサンプルを紹介しておきます。

おさらいサンプル:年齢と会員種別でメッセージを出し分け


age = 30
member = "premium"

if age < 18:
    print("未成年のため制限があります")
elif member == "premium":
    print("プレミアム会員向けサービスを表示します")
else:
    print("一般会員向けの内容を表示します")

このように、複数の条件を組み合わせて使えば、実際のサービスや画面遷移にも応用できます。簡単な条件式から始めて、少しずつ複雑なロジックも自分で書けるようになると、Pythonプログラミングが一段と楽しく感じられるでしょう。

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

生徒

「先生、今回のif文のまとめですごく理解が深まりました!」

先生

「よかったね。if文は、条件に応じて処理を分けるときの基本だから、しっかり身につけておくと今後に活かせるよ。」

生徒

「elseやelifを使うことで、条件が複数あっても読みやすく書けるって分かりました!」

先生

「そうそう、elifを使えば「もし〜なら〜、それでもなければ〜」って順番に判断できるし、elseで最終的な処理も書けるから便利なんだ。」

生徒

「あと、andとかorで複数条件を組み合わせたり、ネストを使って細かく条件を書いたりするところも参考になりました!」

先生

「実務でもよく使うテクニックだから、ぜひ繰り返し練習してみて。エラーが出たらインデントや条件の順番を見直すと解決することが多いよ。」

生徒

「はい、もっと自分でもいろいろ試してみたいと思います!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのif文とは何ですか?基本的な使い方を教えてください

Pythonのif文は「もし条件が真ならば、その処理を実行する」という条件分岐の構文です。特定の条件に応じて処理を変えることができるため、プログラムの制御に欠かせない重要な要素です。

Pythonのif文でelseはどんなときに使いますか?

ifの条件に当てはまらない場合に、代わりの処理を実行したいときにelseを使います。「そうでなければ〜する」という場合に便利な書き方です。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
New2
PHP
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
New3
PHP
PHPのメール送信でSPF・DKIM認証設定を完全解説!初心者でもわかるメール認証の基本
New4
Python
PythonでAPIのパフォーマンスを向上させる方法!キャッシュ活用を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.3
Java&Spring記事人気No3
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.5
Java&Spring記事人気No5
PHP
PHPのHTMLメールの作成方法を完全ガイド!初心者でもわかるメール送信の基本
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
Python
Pythonの例外を発生させる方法を完全解説!raise文の使い方を初心者向けにやさしく説明
No.8
Java&Spring記事人気No8
Python
Pythonで2次元リストを作成・操作する方法(リストのリスト)