# 【図解】Pythonで「IndentationError」が出た!初心者が1分で解決できる3ステップと原因対策
こんにちは!Pythonの勉強、順調ですか?
「本やネットのコードをそのままコピーしたはずなのに、なぜか動かない……」
「画面に赤い文字で『IndentationError』って出てきて、進めなくなっちゃった……」
と、パソコンの前で頭を抱えていませんか?
安心してください。そのエラー、**Pythonを勉強する人が100%と言っていいほど、最初にぶつかる「お約束の壁」**なんです!あなたが悪いわけでも、プログラミングの才能がないわけでもありません。
このエラーは「インデント(字下げ)」というPython特有のルールが原因です。コードのロジック(論理)自体は合っていることがほとんどなので、コツさえ掴めば1分でサクッと解決できますよ。
この記事では、エラーの原因と、今すぐ直せる3つのステップを、初心者向けに世界一わかりやすく解説します。一緒にサクッと解決して、スッキリした気持ちで次の学習へ進みましょう!
—
## まずは見てみよう!エラーが出るコードと正しいコード
まずは、どんなコードでエラーが出るのか、具体的な例を見てみましょう。
初心者の方がよく使う「if文(条件分岐)」を例にします。
### ❌ エラーが出るコード(Before)
“`python
score = 85
if score >= 80:
print(“合格です!”) # 💡あれ?行のスタートがif文と同じ位置になっている(インデントがない)
print(“おめでとうございます”) # 💡こっちは少し右にズレている(高さがバラバラ)
“`
*実行すると表示されるエラーメッセージ:*
`IndentationError: expected an indented block`
### ⭕ 正しいコード(After)
“`python
score = 85
if score >= 80:
print(“合格です!”) # 💡「半角スペース4つ分」右にズラして、高さを揃える
print(“おめでとうございます”) # 💡上の行とピッタリ同じ高さに揃える
“`
Pythonでは、**「ここからがif文の中身ですよ」ということを表すために、行の始まりを右にズラす(インデントする)ルール**があります。
このズレがなかったり、行ごとにズレ幅がバラバラだったりすると、Pythonくんは「どこからどこまでがif文の中身かわからないよ〜!」とパニックを起こしてエラーを出してしまうのです。
—
## 1分で解決!インデントエラーを直す3つのステップ
それでは、エラーを実際に解決する手順を3つのステップで見ていきましょう!
### 【ステップ1】エラーメッセージから「原因の場所」を特定する
まずは、英語のエラーメッセージを解読しましょう。難しそうに見えますが、実は言っていることはとてもシンプルです。
よく出るメッセージは、主に次の2種類しかありません。
* **`expected an indented block`**
👉 意味:「ここに字下げ(インデント)が必要だよ!」(if文やfor文の次の行によく出ます)
* **`unexpected indent`**
👉 意味:「ここに予期しない字下げがあるよ!ズレているよ!」(余計なスペースが入っているときに出ます)
そして、エラーメッセージの最後の方に表示されている **`Line 〇`**(〇には数字が入ります)という文字に注目してください。
例えば `Line 4` と書いてあれば、「4行目のスタート位置が怪しいよ」というPythonくんからのヒントです。まずはその行の**「行頭(一番左側)」**に注目してみましょう。
—
### 【ステップ2】インデントの「2大原因」をチェックする
行頭を見て、「あれ? ちゃんと右にズラしてあるように見えるけどな……」と思ったあなた。ここが一番の落とし穴です!
実は、人間の目には同じように見えても、パソコンにとってはまったく違う**「2つの罠」**があります。
#### 罠①:「半角スペース」と「全角スペース」の混在
日本語でコードのコメント(`# 〜`)などを書いた後、日本語入力(全角)のままスペースキーを押してしまっていませんか?
Pythonでは、**全角スペースは絶対にNG**です。
* ` ` (半角スペース4つ):オッケー!
* ` ` (全角スペース1つ):**エラーになります!**
見た目の幅がほぼ同じなので非常に気づきにくい、最大の初心者キラーな罠です。
#### 罠②:「スペース」と「Tab(タブ)キー」の混在
キーボードの「スペースキーを4回ポンポンポンポンと叩く」のと、「Tabキーを1回ポンと叩く」のは、画面上では同じように右にズレて見えます。
しかし、Pythonくんからすると「スペース4つとTabキーは完全に別物!」と認識されます。これらが同じプログラム内で混ざっていると、エラーの原因になります。
—
### 【ステップ3】エディタの機能を使って一括修正する(VS Code対応)
「スペースが全角か半角かなんて、いちいち目で見分けられないよ!」
そう思った方も安心してください。今どきの開発ツール(エディタ)には、これらを一瞬で見分ける便利な機能がついています。
ここでは、プログラマーに大人気の無料エディタ**「VS Code(Visual Studio Code)」**を使った便利設定を2つご紹介します。
#### ① 全角スペースを「見える化」する
VS Codeの設定を変更するだけで、スペースが視覚的に強調され、一発で見分けられるようになります。
1. VS Codeを開き、画面左下の「歯車マーク」から**「設定」**を開きます。
2. 上部の検索窓に**「Render Whitespace」**と入力します。
3. `Editor: Render Whitespace` の設定を **「all」** に変更します。
これだけで、半角スペースは薄い点(`・`)、Tabキーは矢印(`→`)で表示されるようになり、一目で違いが分かります。全角スペースが入っている場合は、色のついた四角い枠などで強調表示されるため、「あ、ここに全角スペースが紛れ込んでいた!」と一瞬で気づくことができます。
#### ② Tabキーを一発で「半角スペース4つ」に自動変換する
Tabキーを押したときに、自動で「半角スペース4つ」に変換してくれる設定をしておけば、今後のエラーを100%予防できます。
1. 先ほどと同様に「設定」を開きます。
2. 検索窓に**「Insert Spaces」**と入力し、`Editor: Insert Spaces` にチェックが入っていることを確認します(通常は最初から入っています)。
3. 次に検索窓に**「Tab Size」**と入力し、`Editor: Tab Size` を **「4」** に設定します。
これで設定は完了です!これからは、キーボードの「Tabキー」を1回押すだけで、自動的に美しい「半角スペース4つ」が入力されるようになります。スペースキーを4回叩く手間も省けて一石二鳥ですね。
—
## まとめ:エラーはあなたが成長している証拠!
お疲れ様でした!無事にエラーは消えましたか?
最後に、大切なことをお伝えします。
Pythonで「IndentationError」が出るのは、あなたの書き方が悪いからではありません。
Pythonという言語が、**「誰が見ても読みやすい、きれいなコードを書きなさい」と、優しく教えてくれているだけ**なのです。
インデントをきれいに揃える癖がつくと、後から自分のコードを見返したときや、他の人にコードを見せるときに、圧倒的に読みやすくなります。
「エラーが出た!」というのは、あなたが新しいことに挑戦して、一歩前進している素晴らしい証拠です。
**💡 今すぐ取るべきアクション:**
1. さっそくVS Codeを開いて、この記事で紹介した「スペースの見える化設定」をやってみましょう!
2. 今回のエラーを克服したら、次はよくあるもう一つのエラー**「[SyntaxError(構文エラー)の解決方法](#)」**の記事も読んで、エラーに強い無敵のプログラマーを目指しましょう!
あなたのPython学習を、これからも心から応援しています!
コメントを残す