replace(replace(3.Result; “^#+\s*”; “”); “\n[\s\S]*”; “”)

執筆者:

カテゴリ:

# 【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の学習を続けていきましょう。応援しています!

コメント

コメントを残す

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

CAPTCHA


投稿をさらに読み込む