【2026】Pythonのif・elif・elseとは?基礎から分かりやすく解説

初心者にも学びやすいと評判のPythonは、プログラミング入門に最適な言語です。

中でも「条件分岐」は、プログラムに判断をさせるために不可欠な基本構文のひとつです。この記事では、Pythonの基礎として重要なif・elif・elseの使い方を、初心者にも分かりやすく解説し、よくあるミスや注意すべきポイントについても丁寧に取り上げます。

この記事を読むことで、Pythonにおけるif・elif・elseを自信を持って使いこなせるようになるでしょう。

Pythonの条件分岐を理解しよう|if・elif・elseの基本

そもそも条件分岐とは、プログラムの中で「もし○○なら~する」といった判断を行う仕組みのことです。Pythonにおける条件分岐は、主にif・elif・elseの3つのキーワードで実装します。

処理の流れを条件によって分けることで、より柔軟で実用的なコードを書くことが可能です。例えば、ユーザーの行動や入力内容によって画面表示を切り替えたり、条件を満たした場合だけ関数を実行したりする際に役立ちます。

Pythonの条件分岐は、プログラムの自動化やエラー回避といった場面でも非常に重要な役割を果たします。初心者の方にとっても早い段階で習得すべき基本的な構文の一つといえるでしょう。

Pythonの基礎を学ぶうえで、条件分岐と並んで理解しておきたいのがfor文です。繰り返し処理を行うための構文であり、条件分岐と併用することで、より高度で効率的なプログラムを作成できます。for文の詳しい使い方については、こちらをご覧ください。

【2025】Pythonのfor文とrange()関数の使い方や応用テクニック徹底解説!

Pythonのif文で条件分岐の基本を学ぼう

if文の基本構文と使い方

Pythonの条件分岐は、まずif文を押さえることが基本です。ここでは、if文の書き方と基本的な使い方を詳しく見ていきましょう。

ifの基本構文

Pythonのif文は、ある条件が真(True)のときにだけ特定の処理を実行するための構文です。基本的な条件判定に使われるifの基本構文は、次のような形になっています。

<ifの基本構文>
if 条件式:
­ ­­ 実行する処理

Pythonではインデント(字下げ)が構文上重要で、通常は半角スペース4つ分が使われます。条件に合致しない場合は何も実行されない点に注意が必要です。

条件式には比較演算子(==、!=、<、>など)を用いた論理式を記述し、結果がTrueであればインデントされた処理が実行されます。

Pythonのif文でよく使われる比較演算子を以下の表にまとめました。

演算子意味説明
==等しいa == baとbが等しい場合にTrue
!=等しくないa != baとbが異なる場合にTrue
<より小さいa < baがbより小さい場合にTrue
>より大きいa > baがbより大きい場合にTrue
<=以下a <= baがb以下の場合にTrue
>=以上a >= baがb以上の場合にTrue

このような演算子をif文の条件として利用することで、数値・文字列・変数などの値を比較し、状況に応じた処理の分岐が可能になります。

if文を使った簡単なサンプルコード

ここでは、Pythonのif文の入門例として、ある数値が10より大きいかを判断するシンプルなコードを見てみましょう。

number = 15

if number > 10:
­ ­­ ­print(“10より大きいです”)

このコードは、変数「number」が10を超えているとき、「10より大きいです」という文字列を出力します。条件式「number > 10」がTrueになると、インデントされたprint文が実行される仕組みです。

Pythonではインデントが構文の一部として扱われるため、必ず行頭にスペースを入れるよう注意しましょう。

このようにif文はとても直感的に使えるため、初心者でもすぐに理解しやすいのが特長です。簡単な処理から始めて、徐々に複雑な条件へ発展させていきましょう。

条件に当てはまらない場合はelseで記述しよう

else文の使い方と注意点

ifの条件に当てはまらなかった場合に実行されるのが「else」です。ここではif-elseの基本と、記述時に押さえておきたいポイントを取り上げます。

if-elseの基本構文

elseは、ifやelifのどの条件にも合致しなかったときに実行される処理を記述するための構文です。

<if-elseの基本構文>
if 条件:
­ ­­ ­処理
else:
­ ­­ ­その他の処理

elseは条件を明示しない構文で、すべての条件に当てはまらなかった場合の処理をまとめて記述できます。ただし、elseは1つのブロックでしか使えないため、複数の条件ごとに処理を分けたい場合には、elifを併せて使う必要があります。

コードの意図を明確にするためにも、elseに含める処理は簡潔に保つことを心がけましょう。

elseを使うときの注意点

elseは便利な一方で、使い方を誤ると予期しない動作やバグの原因になることがあります。

とくに注意すべきポイントは次のとおりです。

  • 条件が明示されないため、処理の意図が不明確になりやすい
  • 本来カバーすべきでないケースまで処理してしまう可能性がある
  • すべての条件をifやelifで明示的に書いた方が安全な場合もある
  • 処理の意図をコメントで補足すると安心

このような点を意識して記述することで、else文を含む条件分岐をより安全かつ柔軟に扱えるようになります。

複数の条件分岐にはelifを使って対応しよう

elif文で複数条件を処理する方法

複数の条件に対して、それぞれ異なる処理を行いたい場合に活躍するのが「elif」です。ここでは、ifとelifの組み合わせで、より柔軟な分岐処理を行う方法を解説します。

if-elifの基本構文

elifは「else if」に由来し、ifの条件が満たされなかった場合に、次の条件を判定するために使います

<if-elifの基本構文>
if 条件1:
­ ­­ ­処理1
elif 条件2:
­ ­­ ­処理2
elif 条件3:
­ ­­ ­処理3

このように、ifのあとにelifを続けて記述することで、複数の条件を順番に評価できます。条件のどれかがTrueになった時点で、それ以降の条件は評価されず、対応する処理のみが実行される点に注意しましょう。

elifの条件式は何個まで記述できる?

初心者によくある疑問の一つに、「elifはいくつまで使えるのか?」というものがあります。

Pythonでは、elifの使用回数に明確な上限はなく、理論上はいくつでも記述可能です。ただし、可読性の観点からは、多くても5~7個程度に留めておくと良いでしょう。

条件が増えすぎてコードが複雑になる場合には、辞書型を使った条件分岐や、関数に処理を分けるといった工夫を取り入れることをおすすめします。

elifを使った複数条件の分岐例

elifを使った複数条件の分岐処理として、ユーザーの点数に応じて評価を表示する具体例をご紹介します。

score = 80

if score >= 90:
­ ­­ ­print(“評価:優”)
elif score >= 80:
­ ­­ ­print(“評価:良”)
elif score >= 70:
­ ­­ ­print(“評価:可”)
else:
­ ­­ ­print(“評価:不可”)

このコードでは、変数「score」の値に応じて4段階の評価が表示されます。最初の条件から順に評価され、条件に一致した時点で対応するprint文が実行され、それ以降の条件はスキップされるという流れです。

elifを活用することで、複数の条件を整理しながら分かりやすく処理を分けることができます。条件が多くなる場合には、処理を関数として切り出すことで、コード全体の見通しがさらに良くなります。

 if・elif・elseを組み合わせて複雑な条件分岐を作ろう

if・elif・elseの組み合わせ例

複数の条件を柔軟に処理したいときは、if・elif・elseを組み合わせるのが効果的です。ここでは、これらを組み合わせた実用的なコード例をご紹介します。

if・elif・elseを使った分岐処理の実践例

if、elif、elseを組み合わせることで、条件に応じて処理を分岐させる基本的な流れを構築できます。

最優先の条件をifで判定し、結果がFalseなら次に進みます。それでもすべての条件に当てはまらない場合は、最後にelseの処理が実行されるという流れです。

value = 50

if value > 80:
­ ­­ ­print(“高得点です”)
elif value > 60:
­ ­­ ­print(“平均以上です”)
else:
­ ­­ ­print(“次はもっと良い結果を目指しましょう”)

このように処理は上から順に評価され、最初に条件を満たしたブロックだけが実行されるのが特徴です。すべての条件に対応できるように設計すれば、分岐のミスや予期しない動作を防ぐことができます。条件の順序や範囲のかぶりに注意しましょう。

ネストされたifの活用例

ネスト(入れ子)されたif文とは、ある条件がTrueだった場合に、その中でさらに別のif文を使って細かく条件分岐する書き方です。複数の条件を段階的にチェックしたいときや、条件が入れ子構造になっている場面で役立ちます。

こちらも例文を見てみましょう。

age = 20
is_student = True

if age >= 18:
­ ­­ ­if is_student:
­ ­­ ­­ ­­ ­print(“学生割引が適用されます”)
­ ­­ ­else:
­ ­­ ­­ ­­ ­print(“一般料金です”)
­else:
­ ­­ ­print(“未成年料金です”)

この例では、年齢が18歳以上かどうかを最初に判定し、その上で学生かどうかに応じて異なる処理を実行しています。

このようにネストを使うことで細かな条件制御が可能になりますが、深くなりすぎると可読性が低下するため、2~3段階程度に留めるのが望ましいでしょう。

if文の複数条件についてさらに詳しく知りたい方は、こちらも参考にしてください。

【2025】Pythonのif文で複数条件を効果的に組み合わせるテクニックと実践例解説

初心者がやりがちなエラーと対処方法

初心者がやりがちなエラーと対処方法

Pythonのif文やelif、elseを使う際、初心者の多くがつまずくポイントがあります。ここでは、よくあるエラーの例とその対処方法について解説します。

  1. インデントのミス
  2. 条件式の書き間違い
  3. 比較演算子の誤用

①インデントのミス

Pythonではインデント(字下げ)が文法の一部として扱われるため、インデントミスは代表的なエラーの原因です。

特にif文やelif、elseのブロック内でスペースやタブの混在、行頭の空白の数が一致していないなどのミスがあると、IndentationErrorや意図しない動作が発生します。

インデントには半角スペース4つを使うのが一般的で、常に統一することが大切です。エディタの設定を確認し、自動インデント機能を活用すると良いでしょう。

②条件式の書き間違い

条件式は判断処理の中心となる部分であり、ここに誤りがあると正しい分岐が行われません。よくある間違いとして、数値や文字列を比較せずに直接書いてしまったり、意図しない論理式を組んでしまったりすることが挙げられます。

具体例を示してみましょう。

if “yes”: # 条件としては常にTrueになる
­ ­­ ­print(“実行される”)

このようなコードは見た目では正しそうに見えますが、常に実行されてしまうため、意図と異なる動作になる場合があります。条件式には明確な比較や論理演算、必要に応じて==やinなどの比較演算子を活用しましょう。

③比較演算子の誤用

比較演算子は、条件式を正しく機能させるために欠かせない要素です。しかし、初心者のうちは=(代入)と==(等価)の違いを混同したり、!=や>=などの使い方を誤ったりするケースがよくあります。

例えば次のコードは、等価(==)を使うべきところで代入(=)を使用しているため、Pythonは構文エラーを出します。

if x = 10: # エラー(代入ではなく比較が必要)

正しくは次のように書く必要があります。

if x == 10:
­ ­­ ­print(“xは10です”)

比較演算子は文字列やリストの比較にも使えるため、使い方をしっかり覚えておくことが大切です。慣れるまでは、意図した比較ができているかを都度確認するようにしましょう。

他の条件分岐構文との比較

他の条件分岐構文との比較

Pythonにはif、elif、else以外にも条件分岐の方法があり、状況によっては、よりシンプルに書ける構文や高速な判定ができる方法を選ぶほうが効率的です。ここでは、代表的な条件分岐構文とif文との違いについてご紹介します。

三項演算子との違い

三項演算子(条件式を1行で書ける構文)は、シンプルな条件分岐に便利な書き方です。Pythonでは次のように記述します。

<三項演算子の基本構文>
結果 = 値1 if 条件 else 値2

具体的な使い方も見てみましょう。

message = “合格” if score >= 60 else “不合格”

三項演算子は条件に応じて異なる値を代入する場合に有効で、if文よりも短く書けるのが特長です。ただし、処理が複雑な場合には可読性が低下するため、あくまで簡単な分岐に限定して使うのが望ましいでしょう。

if文は複数行の処理やネストにも対応できるため、場面に応じて使い分けることが重要です。

match-case構文との違い

Python 3.10以降で使えるmatch-case構文は、特定の値に応じて分岐させたい場合に有効な、新しい条件分岐の方法です。C言語やJavaScriptでいう「switch文」に近い機能を持っています。

具体的な使い方をご紹介しましょう。

command = “start”

match command:
­ ­­ ­case “start”:
­ ­­ ­­ ­­ ­print(“開始します”)
­ ­­ ­case “stop”:
­ ­­ ­­ ­­ ­print(“停止します”)
­ ­­ ­case _:
­ ­­ ­­ ­­ ­print(“無効なコマンドです”)

このようにmatch文は値のパターンごとに処理を分けるのに適しており、if-elifよりもスッキリ書ける場合があります。

ただし、match-caseは構文が新しく、Python 3.10以上が必要な点に注意が必要です。条件が単純な一致判定であれば、match-caseの方が見通しのよいコードになるでしょう。

基礎を学ぶなら「Python基礎セミナー講習」

Pythonの基礎を体系的に学びたい方には、「Python基礎セミナー講習」がおすすめです。if、elif、elseといった条件分岐の基本はもちろん、変数の扱い方、繰り返し処理、関数の定義、リストや辞書といったデータ構造まで、実践を通してしっかりと習得できます。

特に初心者に配慮したカリキュラム構成となっており、「なぜそう書くのか」「どう応用できるのか」といった考え方まで丁寧に解説。演習問題も豊富に用意されており、学んだ知識をその場で確認・定着させることができます。

Pythonをゼロから学びたい方、独学では不安な方でも、理解を深めながら着実にステップアップできるでしょう。

セミナー名Python基礎セミナー講習
運営元GETT Proskill(ゲット プロスキル)
価格(税込)27,500円〜
開催期間2日間
受講形式対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング

Python基礎セミナー講習はこちら

Pythonのif・elif・elseを正しく使いこなそう

Pythonにおけるif、elif、elseは、プログラムの処理を柔軟に分岐させるための基本かつ重要な構文です。それぞれの役割や使い方を正しく理解することで、状況に応じた判断処理がスムーズに記述できるようになります。

条件の数が多い場合はelifを活用し、すべての条件に当てはまらないケースはelseでフォローするなど、適切に組み合わせる使い方をマスターしましょう。また、インデントや比較演算子などの基本ルールも押さえておくことで、エラーを避け、読みやすいコードを書くことができます。

この記事で学んだ内容を活かして、より実用的なPythonコードに挑戦してみましょう。

最新情報をチェックしよう!