# 【3分解決】Pythonで「IndentationError」が出る原因と対策!初心者が二度と迷わないための3ステップ
こんにちは!Pythonの勉強、順調ですか?
「本やサイトの通りにコードを書いたはずなのに、なぜか動かない…」
「英語の赤い文字(エラーメッセージ)が出てきて、頭が真っ白になってしまった…」
そんな風に、画面の前でため息をついていませんか?
せっかく「プログラミングをがんばるぞ!」とパソコンに向かったのに、謎のエラーで進めなくなると、悲しいですしモチベーションも下がってしまいますよね。
でも、**安心してください!**
今回ご紹介する**「IndentationError(インデントエラー)」**は、Pythonを学ぶ人が**100%と言っていいほど最初にぶつかる「お約束のエラー」**です。あなたのプログラミングの才能がないわけでも、パソコンが壊れているわけでもありません。
このエラーの原因は、スペルの間違いではなく、単純な**「ズレ(字下げ)」**にあります。
この記事を読めば、エラーの原因がスッキリ理解でき、**わずか3分で自分で解決できるようになります。**一緒にサクッと解決して、次のステップへ進みましょう!
—
## 【事前知識】まずは「悪い例(NG)」と「良い例(OK)」を比較しよう!
Pythonには、**「コードの先頭にスペースを入れて、キレイに字下げ(インデント)をしてね」**という独自のルールがあります。
まずは、シンプルな `if`(もしも〜なら)を使ったコードで、エラーになる例と、正しく動く例を比べてみましょう。
### ❌ NGコード(エラーになってしまう例)
“`python
age = 20
if age >= 20:
print(“成人です”) # ← ここがズレている
“`
これを実行すると、画面に以下のような英語のエラーが表示されます。
> **`IndentationError: expected an indented block`**
英語で書かれていると難しく見えますが、これは優しく翻訳すると**「ここに字下げ(スペース)があるはずなのに、見当たらないよ!」**とPythonが困っている状態です。
### ⭕️ OKコード(正しく動く例)
“`python
age = 20
if age >= 20:
print(“成人です”) # ← 先頭に4マスのスペース(インデント)がある!
“`
`print` の前に、キーボードの「スペースキー」を4回(または「Tabキー」を1回)押して、右にズラしてあげました。
Pythonは、この「ズレ」を見ることで、**「あ、このprintは、if文が成立したときに実行する中身なんだな」**と判断しています。
—
## 【実践】インデントエラーを解決する3つのステップ
それでは、実際にあなたのお手元でエラーを解決していきましょう!次の3つのステップを順番に試してみてくださいね。
### ステップ1:エラーメッセージから「エラーの行数」を特定する
「英語だらけのエラーメッセージ、見るのもイヤ!」と思うかもしれませんが、実は**見るべき場所は最後の2行だけ**です。
まずは以下の図を見て、エラーメッセージの「どこに何が書いてあるか」をチェックしてみましょう。
—
**📷【図解:エラー画面のスクリーンショット】**
*(※VS Codeなどのターミナルに表示されたエラー画面の画像。下部にある「File “main.py”, line 3」の「line 3」の部分と、最下行の「IndentationError」の部分が赤枠と矢印で強調されているイメージ)*
—
エラーメッセージの中に、**`line 3`** のような文字が見つかりましたか?
これは**「3行目が怪しいよ!」**というPythonからのヒントです。
まずは、指摘された行(今回の場合は3行目)をじっと見てみましょう。その行、またはその1つ上の行に原因が隠れています。
—
### ステップ2:エラーの原因(3つのパターン)をチェックする
インデントエラーの原因は、ほぼ次の3つのどれかです。ご自身のコードと見比べてみてください。
#### ① インデントの入れ忘れ
`if` や `for` 、 `def` などの後ろには、必ず「: (コロン)」がつきます。この「:」の次の行は、**必ず字下げ(スペース)が必要**です。
* **対策**:次の行の先頭に、半角スペースを4つ(またはTabキーを1回)入れましょう。
#### ② スペースの数がバラバラ
ある行はスペース4つ、次の行はスペース2つ……といったように、行ごとのスペースの数が揃っていないとエラーになります。
* **対策**:同じグループ(ブロック)のコードは、先頭のスペースの数をきれいに揃えましょう。
#### ③「全角スペース」が混ざっている(超重要・初心者の罠!)
日本語を入力するモード(あいうえお が打てる状態)のままスペースキーを押すと、見えない「全角スペース」が入ってしまいます。
Pythonは全角スペースを理解できないため、**「見た目はキレイに揃っているのに、なぜかエラーが消えない!」**という最大の落とし穴になります。
* **対策**:スペースを入れるときは、必ずキーボードを半角英数(アルファベットが打てる状態)に切り替えてから入力しましょう。
—
### ステップ3:エディタ(VS Codeなど)の設定で「インデントを視覚化」する
「全角スペースが入っているかどうかなんて、目で見ても分からないよ…」
そう思ったあなた、大正解です!プロでも目視で全角スペースを見分けるのは不可能です。
そこで、初心者利用率No.1の開発ツール**「VS Code(Visual Studio Code)」**を使って、スペースを「目に見える」ように設定しちゃいましょう!
設定はとても簡単、1分で終わります。
#### 🛠 VS Codeでスペースを「見える化」する手順
1. VS Codeの左下にある **「歯車マーク(設定)」** をクリックし、**「設定」** を開きます。
2. 上部の検索バーに **`render whitespace`** と入力します。
3. **「Editor: Render Whitespace」** という項目の設定を、`selection` から **`all`** に変更します。
—
**📷【図解:VS Codeの設定画面のスクリーンショット】**
*(※検索窓に「render whitespace」と入力され、該当項目のプルダウンメニューで「all」が選択されている様子を、赤枠と矢印でわかりやすく示した画像)*
—
この設定をするだけで、コード内の半角スペースが「微小な点(・)」として表示されるようになります!
もしここに、中身が空っぽの怪しい広い隙間(全角スペース)があれば、一発で見抜くことができますよ。全角スペースを消して、半角スペース4つに打ち直せば、エラーはスッキリ解消です!
—
## まとめ:エラーが出るのは、あなたが挑戦している証拠!
最後に、今回のポイントをおさらいしましょう。
* **「IndentationError」は、コードの「ズレ(字下げ)」が原因**
* **まずはエラーメッセージの「line 〇(行数)」を確認する**
* **半角スペース4つできれいに揃える(全角スペースは絶対にNG!)**
* **エディタ(VS Code)の設定でスペースを「見える化」して予防する**
プログラミングを始めたばかりの頃は、エラーが出るたびに「自分には向いていないのかな…」と不安になってしまうかもしれません。
でも、**エラーが出るのは、あなたが新しいことに勇敢に挑戦して、一生懸命手を動かしている素晴らしい証拠**です!プロのエンジニアだって、毎日たくさんエラーを出して、それを解決しながら仕事をしています。
エラーを1つ乗り越えるたびに、あなたの実力は確実にアップしていますよ。
### 🌟 今日からできるアクション!
まずは今開いているVS Codeの設定を変更して、スペースを「見える化」してみてくださいね。
「またインデントエラーが出たらどうしよう…」と不安な方は、**この記事をブラウザのブックマーク(お気に入り)に登録**しておくのがおすすめです。困ったときの「お守り」代わりに、いつでも読み返しにきてくださいね。
あなたのPython学習を、心から応援しています!
コメントを残す