Pythonのインデントエラー(IndentationError)を修正する方法|原因と解決策を徹底解説
Pythonとは
Pythonは1991年に初めてリリースされたプログラミング言語です。大規模かつ充実したライブラリを備えており、関数型・命令型・手続き型・オブジェクト指向など、さまざまなプログラミングパラダイムをサポートしていることで知られています。
「IndentationError: Expected an indented block(インデントエラー:インデントされたブロックが必要です)」は、初心者から経験豊富な開発者まで、あらゆるユーザーに発生しうるエラーです。Pythonでは正しい空白(ホワイトスペース)によってコードの構造が定められているため、インデントが不正だとコードはコンパイルされず、エラーメッセージが返されます。
PEP8という公式スタイルガイドの規約では、必要な箇所には4つの半角スペース(または1つのタブ)を使用することとされています。適切なインデントを心がけることでコードの可読性が向上し、チームでの開発もスムーズになります。
Pythonでインデントエラーが発生する原因
前述のとおり、このエラーの主な原因はコード内のスペースやタブの誤りです。プログラム自体は一見正常に動作していても、インタープリタがエラーを検出すると、実行の途中でエラーメッセージが表示されます。主な原因は以下のとおりです。
- コード内でスペースとタブを混在させている場合。両者が交互に使われると、インタープリタがどちらに合わせればよいか判断できなくなります。
- インデントの位置が間違っている場合。正しいインデントの規則に従っていない限り、このエラーは必ず発生します。
- 「if」「for」「while」などの複合文(compound statement)のインデントを忘れている場合。
- ユーザー定義の関数やクラスのインデントを忘れている場合。
解決策1:誤った空白・タブの確認
この問題には一発で解決できる魔法のような方法はありません。コードは自分で書いたものですので、1行ずつ見直して、どこで間違えたのかを確認する必要があります。コードには構造上いくつかのブロックがあり、たとえば「if」文があれば、その後に続くコードにはインデントが必要です。
上の図をご覧ください。新しいブロックが途中に現れても、特定のブロックのインデントはコード全体を通して同じレベルに保たれていることがわかります。インデントの一貫性を必ず保ちましょう。スペースを使うなら常にスペース、タブを使うなら常にタブを使用してください。両者を混ぜると問題が起こります。
上の例は正しいインデントを示しています。まず「for」ループに注目してください。「for」ループの内側にあるすべてのコードにはインデントが必要です。さらに「for」ループの中に「if」文があり、「if」文の中のすべてのコードはさらに一段深くインデントしなければなりません。
どこでインデントエラーが発生したかは、エラーログを確認し、エラーの発生源となった行番号を見ることで簡単に特定できます。
解決策2:エディタでタブ・スペース記号を表示する
多くのプログラマーと同じように「勘」に頼ってインデントをつけるのが難しいと感じたら、IDEやコードエディタでタブ・スペースの記号表示を有効にしましょう。このオプションを有効にすると、コード内の各スペースやタブが小さな「ドット」として表示されるため、余分なインデントや抜けているインデントがないかを確認しやすくなります。
ここでは例としてNotepad++を使い、記号表示を有効にする手順を紹介します。別のソフトでコード編集を行っている場合は、それぞれのソフト固有の設定を有効にしてください。
- メニューから [表示] > [記号の表示] > [空白文字とTABを表示] を選択します。

- これでオプションが有効になりました。併せてインデントガイド(Indent Guide)も有効にすると、さらに作業がしやすくなります。
上の例をご覧ください。各クラスの後にインデントが施されているのがわかります。1つのスペースが1つのドットとして表されています。コードの誤ったインデントを修正したら、再度実行して問題が解決したかどうかを確認しましょう。
-
【Windows 10】エラーコード0x8078012Dのバックアップエラーを解決する6つの方法
Windowsパソコンでバックアップを作成しようとした際に、エラーコード0x8078012Dが表示されて失敗するケースは少なくありません。このエラーは、Windows 10でシステムイメージのバックアップやWindows Updateのバックアップを作成するときに発生することが多く、バックアップサービスの設定不備やシステムファイルの破損など、さまざまな要因によって引き起こされます。破損したファイルの修復や問題のあるソフトウェアへの対処を行うことで解決できます。本記事では、このエラーの主な原因と具体的な対処法を詳しく解説します。 Windows 10でバックアップエラーコード0x8078012
-
Windows 10のエラーコード0xc7700112を解決する7つの方法
Windows PCの不具合やエラーを解消する基本的な方法として、OSを最新の状態に更新することが推奨されています。しかし、更新プロセスに何らかの不具合が生じると、さまざまなエラーメッセージが表示されることがあります。その代表的なものの一つがエラーコード0xc7700112です。このエラーは、Windowsのアップグレード処理中に何らかの中断や不具合が発生した際に表示されます。 本記事では、「エラーコード0xc7700112をどうやって修正すればよいのか」という疑問に対して、具体的な解決策をわかりやすく解説します。 Windows 10でエラーコード0xc7700112を修正する方法 このエ