【Python】if文・elif・elseで条件分岐する方法を初心者向けに解説

Python

こんにちは、かつコーチです。

前回、比較演算子と論理演算子について解説しました。

今回はそれらを実際に活用する条件分岐、つまりif文の書き方を解説します。

「if文の書き方は分かったけど、インデントでよくエラーが出る」

そんな初心者がつまずきやすいポイントも、実体験を交えて紹介します。

if文とは?

条件によって処理を分ける仕組み

条件分岐とは、「もし〇〇なら△△する」というように、条件によって実行する処理を変える仕組みです。

Pythonではif文を使って条件分岐を書きます。

age = 20

if age >= 18:
    print("成人です")
成人です

age >= 18Trueのときだけ、print("成人です")が実行されます。

なぜインデントが重要なのか

Pythonでは、{}ではなくインデント(字下げ)でコードのまとまりを表現します。

これは他の多くの言語にはない、Python特有の大きな特徴です。

インデントがずれていると、正しく動かなかったり、エラーになったりします。

インデントは基本的に半角スペース4つで統一するのが慣習です。

基本の書き方・実装手順

if・elseで2択の分岐を書く

条件に当てはまらない場合の処理は、elseで書けます。

age = 15

if age >= 18:
    print("成人です")
else:
    print("未成年です")
未成年です

if・elif・elseで3択以上の分岐を書く

条件が3つ以上ある場合は、elif(else ifの略)を使います。

score = 75

if score >= 90:
    print("評価はA")
elif score >= 70:
    print("評価はB")
elif score >= 50:
    print("評価はC")
else:
    print("評価はD")
評価はB

elifは上から順に評価され、最初にTrueになった条件のブロックだけが実行されます。

条件を組み合わせる書き方

前回学んだ論理演算子(and/or)を使うと、複数条件を1つのif文にまとめられます。

age = 25
has_license = True

if age >= 18 and has_license:
    print("運転できます")
else:
    print("運転できません")
運転できます

つまずきやすい設定・注意点

if文の行末には、必ずコロン(:)が必要です。

コロンを忘れると、次のようなエラーになります。

age = 20

if age >= 18
    print("成人です")
SyntaxError: expected ':'

「なぜかエラーが出る」と感じたら、まずコロンの付け忘れを疑ってみてください。

よくあるつまずきポイント・エラー対処

インデントがずれてエラーになる

これは筆者がPythonを学び始めた頃、何度も遭遇したエラーです。

タブとスペースが混在していたり、字下げの量がずれていたりすると発生します。

❌ Before(インデントがずれた書き方)

age = 20

if age >= 18:
    print("成人です")
   print("投票できます")

実行すると、次のエラーが出ます。

IndentationError: unindent does not match any outer indentation level

2行目のインデントが3スペースになっており、1行目の4スペースと揃っていないことが原因です。

✅ After(正しい書き方)

age = 20

if age >= 18:
    print("成人です")
    print("投票できます")
成人です
投票できます

同じブロック内の行は、インデントの量を完全に揃える必要があります。

筆者はこのエラーに何度も遭遇した経験から、エディタの自動インデント機能をオンにして、タブではなくスペースに統一する設定を強くおすすめします。

VSCodeであれば、右下のインデント表示から「Convert Indentation to Spaces」を選ぶことで統一できます。

まとめ

この記事のポイント

  • if文は条件によって処理を分岐させる仕組みである
  • Pythonは{}ではなくインデントでブロックを表現する
  • 複数条件の分岐にはelif、それ以外の場合にはelseを使う
  • if文の行末には必ずコロン(:)が必要
  • インデントのずれはIndentationErrorの原因になるため、スペース4つで統一する

次に読むべき記事

  • 数値演算と演算子の基本
  • for文・while文で繰り返し処理
  • リストの基本:作成・追加・削除・スライス

タグ: Python, 初心者向け, 基本文法

タイトルとURLをコピーしました