【Python初心者】「IndentationError」で心が折れそうなあなたへ。たった3分で解決する「空白」のルールと直し方

執筆者:

カテゴリ:

プログラミングの学習、本当にお疲れ様です!
本やWebサイトのチュートリアル通りに一生懸命コードを書いた(あるいはコピペした)はずなのに、実行ボタンを押した瞬間……

IndentationError: expected an indented block

こんな真っ赤な英語のエラーメッセージが出て動かなくなり、パニックになっていませんか?
「一文字も間違っていないはずなのに、どうして!?」と絶望的な気持ちになりますよね。

でも、安心してください。あなたのプログラミングの才能がないわけでは絶対にありません。

実はこのエラー、Pythonを始めたばかりの人が100%の確率で経験する「ただのスペースのズレ」を知らせているだけなのです。

この記事では、Python特有の「インデント(字下げ)」のルールと、一瞬でエラーを解決する魔法の手順をお伝えします。たった3分読むだけで、今のモヤモヤが「なるほど!」というスッキリ感に変わりますよ。


ステップ1:そもそも「IndentationError」って何?原因を知ろう

「Indentation(インデント)」とは、日本語で「字下げ」のことです。
文章を書くとき、段落の始まりを一文字分下げるのと同じように、プログラミングでもコードの行頭に空白(スペース)を空けることがあります。

C言語やJavaといった他のプログラミング言語では、コードのまとまり(ブロック)を { } という記号で囲んで表現します。しかし、Pythonはとてもシンプルさを好む言語です。記号を使わずに、「行頭の空白(インデント)の深さ」だけでコードのまとまりを判断するという独自のルールを持っています。

つまり、Pythonにとって「空白」は、ただの隙間ではなく「ここからここまでがセットの命令ですよ」と伝えるための重要なメッセージなのです。
そのため、空白の数が間違っていたり、ズレていたりすると、Pythonが「どういうまとまりか分からないよ!」と混乱してしまい、「IndentationError」を出してしまうというわけです。


ステップ2:よくある「3つの失敗例」と正しいコード例

では、具体的にどんな時にエラーになるのでしょうか?初心者が陥りやすい「3つの罠」を見ていきましょう。

❌ 失敗例①:そもそもスペースが入っていない

if文(もし〜なら)やfor文(〜を繰り返す)の次の行は、必ずインデントを下げる(右にズラす)必要があります。

# ❌ エラーになる書き方(expected an indented block)
if score >= 80:
print("合格です!") # ← ここに空白がない!
# ⭕️ 正しい書き方
if score >= 80:
    print("合格です!") # ← 行頭に「半角スペース4つ」を入れる

❌ 失敗例②:スペースの数がバラバラ、または「タブ」と「スペース」が混ざっている

見た目は綺麗に揃っていても、パソコン内部では「スペースキーで空けた空白」と「Tabキーで空けた空白」は全くの別物として扱われます。これが混ざるとエラーになります。

# ❌ エラーになる書き方(unexpected indent)
if score >= 80:
	print("合格です!") # ← Tabキーで字下げしている
    print("おめでとう!") # ← スペースキーで字下げしている(混在はNG!)

❌ 失敗例③:見えない罠「全角スペース」が混入している

これが一番厄介です!日本語入力モードのままスペースキーを押すと「全角スペース」が入力されますが、Pythonは「半角スペース」しかインデントとして認めてくれません。
(※全角スペースが混ざると invalid character in identifier という別のエラーになることもあります)

# ❌ エラーになる書き方
if score >= 80:
  print("合格です!") # ← 全角スペースが入っている(見た目では気づきにくい!)

ステップ3:もう迷わない!一瞬で解決する直し方と予防策

原因がわかれば、直し方はとっても簡単です。以下の手順で修正してみましょう。

🛠 直し方の手順:一度消して、半角スペース「4回」

  1. エラーメッセージの line 〇〇 という部分を見て、エラーが起きている行を確認します。
  2. その行の一番左端(行頭)にある空白を、Backspaceキーで一旦すべて消し去ります。(文字が左端にピタッとくっつく状態にする)
  3. キーボードを「半角英数」入力モードにします。
  4. スペースキーを「4回(トントントントン)」押して、揃え直します。

これだけで、あっという間にエラーは消え去ります!Pythonの公式ルール(PEP8)でも、「インデントは半角スペース4つ」が推奨されているので、これだけ覚えておけば完璧です。

🛡 予防策:エディタの「空白表示設定」をオンにする

全角スペースやTabキーの混入を防ぐために、VSCode(Visual Studio Code)などのエディタを使っているなら、「空白文字を視覚化する」設定をしておきましょう。

  1. VSCodeの設定画面を開く(歯車マーク > 設定)。
  2. 検索窓に Render Whitespace と入力します。
  3. 設定項目を all(すべて表示)に変更します。

こうすると、半角スペースが「・・・・」のように小さな点で表示されるようになります。もし全角スペースが入ってしまったら、点が表示されない四角い空白になるため、一目で「あ、全角が混ざってる!」と気づけるようになりますよ。


まとめ:エラーはあなたが前に進んでいる証拠!

いかがでしたか?今日お伝えした大切なポイントは2つです。

  • Pythonのコードのまとまり(ブロック)は「半角スペース4つ」で揃える!
  • エラーが出たら、行頭の空白を一度全部消して、半角スペースを4回打ち直す!

赤いエラー画面を見るとドキッとしてしまいますが、エラーは決して「失敗」ではありません。あなたが自分でプログラミングの環境を作り、実行のボタンを押すという「大きな挑戦」をした証拠です。

プロのエンジニアでも、毎日エラーと戦いながらコードを書いています。インデントのルールをマスターしてこのエラーを自力で解決できたあなたは、もうPythonの重要な基礎を一つクリアしました!素晴らしい一歩です。

無事にエラーが消えてプログラムが動いたら、次は「if文の条件(数字)」や「printの中の言葉」を自分の好きなように書き換えて遊んでみてくださいね。
これからも、楽しくPython学習を進めていきましょう!

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


投稿をさらに読み込む