# 【5分解決】Pythonで「IndentationError」が出ても焦らない!エラーの原因と初心者が今すぐ試すべき3ステップの対処法
Pythonを勉強し始めて、お気に入りの本やネットの解説を見ながらコードを書いてみた。あるいは「コピペしただけ」なのに……。
**「なぜかエラーが出て動かない!」**
画面に赤文字で書かれた**「IndentationError」**という英語。
「コードは絶対に間違っていないはずなのに、どうして?」とパニックになっていませんか?
まずは、深呼吸してくださいね。実はこのエラー、**Python初心者が100%と言っていいほど最初に通る道**なんです。プロとして活躍しているエンジニアも、全員が通ってきた道なので、まったく恥ずかしがる必要はありません!
Pythonは「ズレ(字下げ=インデント)」に対して、他のプログラミング言語よりも少しだけお行儀に厳しい、繊細な性格をしています。
この記事では、エラーに直面してモヤモヤしているあなたに向けて、**わずか5分でエラーの原因を特定し、スッキリ解決する3つのステップ**をやさしく解説します。
この記事を読み終える頃には、エラーを解決できるだけでなく、今後二度とインデントエラーに悩まされない「快適なプログラミング環境」まで手に入りますよ。さあ、一緒に解決していきましょう!
—
## 【前提】インデントエラーが発生する「NGコード」と「OKコード」
まずは、「何が原因でエラーが起きているのか」を一目で理解するために、具体的なコード例を見てみましょう。
今回は「点数が70点以上なら『合格です!』と表示する」という簡単なプログラムを例にします。
### ❌ ダメな例(エラーが出るコード)
“`python
score = 80
if score >= 70:
print(“合格です!”) # ← ここで IndentationError が発生!
“`
一見、何も問題なさそうに見えますよね。しかし、Pythonでは「`if`(もし〜なら)」といった条件のあとに実行したい処理は、**「右に少しずらして書く」**という絶対のルールがあります。このルールを無視して左端に揃えて書いてしまうと、Pythonは「どの処理が`if`の中身なのか分からないよ!」と怒って、ストライキを起こしてしまいます。
### ⭕ 正しい例(正しく動くコード)
“`python
score = 80
if score >= 70:
print(“合格です!”) # ← 半角スペース4つ分、右にずれている(インデント)
“`
このように、`print` の前に**「半角スペース4つ分」**の隙間を開けてあげることで、Pythonは「なるほど、これが条件を満たしたときに実行する処理なんだね!」と理解し、機嫌よく動いてくれるようになります。
—
## 【解決手順】3つのステップでエラーを解消しよう!
それでは、あなたの手元で出ているエラーを実際に解決していきましょう。次の3つのステップを順番に試してみてください。
### ステップ1:エラーメッセージの「行数」を確認する
まずは、画面に出ているエラーメッセージ(ログ)をじっくり見てみましょう。黒い画面(ターミナルなど)に、以下のような文字が出ていませんか?
“`text
File “study.py”, line 3
print(“合格です!”)
^
IndentationError: expected an indented block
“`
ここで注目してほしいのは**「`line 3`」**という部分です。
これは**「3行目のインデント(ズレ)がおかしいよ」**と、Pythonが親切にエラーの場所を教えてくれているヒントです。
まずは、エラーメッセージに書かれている行番号を確認し、あなたのコードのその行をじっと見つめてみましょう。
—
### ステップ2:スペースの「種類」と「数」を確認(可視化)する
「言われた行を見たけれど、ちゃんときれいにズレているように見える……」
そう思ったあなた、素晴らしい観察力です。実は、インデントエラーの裏に潜む「最大の罠」はここにあります。
それは、**見た目は同じ空白に見えても、中身が違う**ということです。
初心者が最もやってしまいがちな原因は次の3つです。
1. **全角スペースが混ざっている**(日本語入力のままスペースを押してしまった)
2. **「タブ(Tabキー)」と「半角スペース」が混ざっている**
3. **スペースの数が、他の行と揃っていない**(ある行は3マス、ある行は4マスなど)
Pythonにとって、全角スペースは「透明な文字」ではなく「正体不明の怪しい記号」に見えています。また、タブと半角スペースが混ざっているのも大嫌いです。
#### 💡 「見えない空白」をエディタで可視化しよう!
これを防ぐ一番の特効薬は、使っているテキストエディタ(VS Codeなど)の設定で、**空白を「見える化」する**ことです。
例えば、人気の開発ツール **VS Code(Visual Studio Code)** をお使いなら、以下の設定をするだけで、スペースやタブが「点」や「矢印」で画面に表示されるようになります。
* **VS Codeでの設定方法:**
1. 画面左下の「歯車マーク(設定)」をクリックし、設定を開きます。
2. 検索窓に **「Render Whitespace」** と入力します。
3. 設定項目を **「all」**(または `selection`)に変更します。
これで、全角スペースが入っていると一目瞭然でわかるようになり、「見た目は合っているのに動かない」というイライラから一瞬で解放されます!
—
### ステップ3:半角スペース4つ(またはタブ1回)に統一して修正する
原因がわかったら、あとは修正するだけです。確実かつ最も簡単な修正手順をお伝えします。
1. **エラーが出ている行の先頭の「空白」を、BackSpaceキーで一度すべて消去する。**(左端にピタッとくっつく状態にします)
2. **キーボードの「Tab(タブ)キー」を1回ポンと押す。**
これだけです!
「えっ、半角スペース4つを手で打つんじゃないの?」と思ったかもしれません。
実は、現代の賢いエディタ(VS Codeなど)は、**「Tabキーを1回押すと、自動的に半角スペース4つ分に変換して入力してくれる」**という便利な機能が最初から備わっています。
そのため、自分でスペースキーを4回トントンと叩くよりも、**「一度全部消して、Tabを1回押す」**と決めておくのが、最もズレが起きにくく確実な方法です。
修正できたら、ファイルを保存してもう一度実行してみてください。今度はきっと、嘘のようにスムーズに動くはずです!
—
## まとめ:もう「インデントエラー」は怖くない!
最後に、今回のおさらいをしましょう。
* **IndentationErrorは、Python独自の「ズレ(字下げ)のルール」が破られたときに起きるエラー。**
* **見た目が揃っていても、全角スペースやタブの混在を疑うべし。**
* **解決の近道は、エディタの設定で「空白を可視化」し、迷ったら「一度消してTabキーを1回押す」。**
### 🎁 あなたが次に取るべきアクション
1. **今すぐ実践:** 目の前でエラーが出ているコードのインデントを、一度バックスペースで消去し、**Tabキーで打ち直して保存・実行**してみましょう。
2. **再発防止:** 今後の快適なPythonライフのために、お使いのエディタの「空白表示設定(Render Whitespace)」を今すぐオンにしましょう。
プログラミングを始めたばかりの頃は、英語のエラー画面が出るたびに「自分には向いていないのかな……」と不安になってしまうこともあるかもしれません。
でも、**エラーが出るのは、あなたが新しいことに挑戦して一歩前進している証拠**です。
エラーメッセージは「ここを直せばもっと良くなるよ!」という、Pythonからの優しいアドバイス。
一つずつ謎解きのようにクリアしていけば、プログラミングはどんどん楽しくなっていきます。焦らず、あなたのペースで、楽しくPythonの学習を続けていきましょう。応援しています!
コメントを残す