**【Pythonエラー解決】コピペしたのに動かない?「IndentationError」を5分で瞬殺する3つのステップ**
「ネットの記事通りにコードを書いたはずなのに、なぜか赤いエラーメッセージが出て動かない…」
「コピペしただけなのに、どうして!?」
プログラミングを勉強していて、こんな風に頭を抱えたことはありませんか?
特に、画面いっぱいに `IndentationError: expected an indented block` と表示されてパニックになった経験は、Python初心者なら誰もが通る道です。英語の長いメッセージを見ると、なんだか自分がとても重大なミスをしてしまったような気持ちになりますよね。
でも、安心してください!
実はこれ、プログラムの才能がないわけでも、文法が間違っているわけでもありません。単に**「文頭の空白(字下げ)」がズレているだけ**なんです。
この記事では、多くの初心者を悩ませる「インデントエラー」の原因と、たった5分でサクッと解決できる3つのステップをわかりやすく解説します。
—
### ステップ1:エラーメッセージから「犯人の行」を特定する
エラーが出たとき、一番やってはいけないのは「焦ってコードをあちこち書き換えてしまうこと」です。まずは深呼吸をして、エラーメッセージの**一番下のほう**に注目しましょう。
こんな表記が見つかりませんか?
> `File “main.py”, line 5`
この **`line 5`** というのが、「5行目がおかしいよ!」というPythonからの親切なヒントです。
エラーを直すための第一歩は、この数字を見て「まずは落ち着いて該当する行を見る」こと。犯人は必ずそこに隠れています。
### ステップ2:エラーの2大原因「スペース不足」と「タブの混在」を知る
犯人の行を見つけたら、なぜエラーになったのかを確認しましょう。原因は大きく分けて2つあります。
#### 原因①:そもそも字下げ(インデント)をしていない
以下のコードを見てみてください。
**【NGコード例】**
“`python
weather = “雨”
if weather == “雨”:
print(“傘を持っていきます”) # ← ここでIndentationError!
“`
2行目の `if`文の条件に当てはまるときだけ、3行目の `print` を実行したいですよね。しかし、3行目の文頭に空白がないため、Pythonは「どこまでがif文のグループなのか分からないよ!」と混乱してエラーを出してしまいます。
#### 原因②:見えない罠「半角スペース」と「タブ」の混在
「ちゃんと空白を入れてるのにエラーになる!」という方は、これが原因かもしれません。
見た目は同じ空白でも、パソコンの中では**「半角スペース」**と**「Tab(タブ)キーによる空白」**は全く別のものとして扱われます。これらが同じファイル内に混ざっていると、Pythonはエラーを出してしまいます。また、**「全角スペース」**が混じっている場合も同様にエラーの引き金になります。
> 💡 **なるほどメモ:なぜPythonは空白にそんなに厳しいの?**
> 「空白くらい大目に見てよ…」と思うかもしれませんね。でも実はこれ、Pythonの優しさなんです。他のプログラミング言語では、カッコ `{ }` を使ってグループをまとめますが、人によって書き方がバラバラになりがちです。
> Pythonは「空白の数でグループを決める」という厳格なルール(インデント)を作ったおかげで、**誰が書いても綺麗で読みやすいコードになる**という素晴らしい特徴を持っています。いじわるではなく、コードを美しく保つための仕様なんですよ。
### ステップ3:正しい「半角スペース4つ」に修正する
原因がわかれば、あとは直すだけです!
Pythonにおける字下げ(インデント)の基本は、**「半角スペース4つ」**です。
**【OKコード例】**
“`python
weather = “雨”
if weather == “雨”:
print(“傘を持っていきます”) # ← 半角スペース4つで字下げ!
“`
ここで、絶対に覚えておきたい**『鉄則』**を1つ伝授します。
**「 `if`、`for`、`def` など、行の最後に `:`(コロン)が来たら、次の行は必ず下げる!」**
コロン(`:`)は「ここからグループが始まりますよ」という合図です。コロンを見たら、次の行の文頭でキーボードの**「Tabキー」を1回ポンッと押して**ください。最近のプログラミング用エディタなら、Tabキーを1回押すだけで自動的に「半角スペース4つ」を入力してくれるので、とても簡単で確実です。
—
### まとめ:もう「空白のズレ」は怖くない!
いかがでしたか?
「IndentationError」という難しそうなエラーの正体は、ただの「空白のズレ」でした。
* エラーが出たら `line ○` を見て行を特定する
* コロン(`:`)の後は必ず字下げ(インデント)する
* 全角スペースを使わず、半角スペースとタブを混ぜない
このルールさえ守れば、もうインデントエラーは怖くありません。
**🌟 次のステップへ進みたいあなたへ**
「タブとスペースが混ざっているかどうかなんて、目視じゃ分からないよ!」という方、その通りです。
見えない空白のズレを未然に防ぐためには、プログラミング用エディタ(VSCodeなど)で**「空白文字(スペース)を・(ドット)で表示する設定」**にしておくのが圧倒的におすすめです!
設定はたったの1分。こちらの記事で詳しい手順を画像付きで解説しているので、今すぐチェックして、エラーで悩む時間をゼロにしちゃいましょう!
▶︎ [【1分で完了】VSCodeで半角スペースを「・」で可視化するおすすめ設定(※リンク先へ)](#)
—
エラーを一つ解決するたびに、あなたは確実にプログラマーとして成長しています。これからもご自身のペースで、Pythonの学習を楽しんでくださいね!
コメントを残す