このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Python入門】インデントの意味

インデントの意味
ここでは、Pythonにおけるインデントの意味とその重要性について、順を追って解説します。インデントは、行頭に空白やタブを挿入してテキストを右側にずらすことで、コードの構造やブロックを表現するための基本的な手法です。以下では、インデントの定義、役割、正しい使い方と誤った使い方の例、そして標準コーディングスタイルについて説明します。

プログラムのダウンロード
「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。
1.インデントとは何か
インデント(字下げ)とは、プログラムの各行の行頭に空白またはタブを入れて、行を右側にずらすことです。多くのプログラミング言語、例えば C/C++ や Java では、インデントはコードを読みやすくするための補助的な手法として使われ、プログラムの動作自体には影響しません。しかし、Python はオフサイドルールに従っており、インデントそのものがプログラムのブロック(構造)を定めるため、正しいインデントが不可欠です。
2.Pythonにおけるインデントの役割
Pythonでは、同じレベルの処理は同じだけ右に字下げされたコードブロックに属しているとみなされます。たとえば、if文やfor文などの制御構造の内部に記述された命令は、必ず一定の深さ(推奨は空白4個)でインデントする必要があります。インデントが揃っていない場合、Pythonインタプリタはコードの構造を正しく解析できず、IndentationError を引き起こします。
以下の表は、Pythonにおけるインデントの役割を整理したものです。
項目 | 説明 |
---|---|
コードブロックの明示 | インデントにより、if文、for文、関数定義などのブロックを明確に区別できる。 |
可読性の向上 | 視覚的にコードの構造が分かるため、他人や自分自身が後からコードを見たときに理解しやすい。 |
エラー防止 | 不適切なインデントはエラーを引き起こすため、正しいインデントを保つことで意図しない動作を防げる。 |
3.正しいインデントの例とその効果
ここでは、「open」と「close」という文字列を交互に3回表示するプログラムを例に、正しいインデントの使い方を示します。
正しい例
for i in range(3):
print("open")
print("close")
このプログラムでは、for
文のブロック内で2つの print
命令が、同じインデントレベル(空白4個分)で記述されています。そのため、ループごとに「open」と「close」が順番に表示され、実行結果は次のようになります。
open
close
open
close
open
close
4.誤ったインデントの例とその問題点

誤ったインデントは、コードの構造を誤認させ、想定外の動作を引き起こす原因となります。以下は、インデントが、ずれている例です。
誤った例
for i in range(3):
print("open")
print("close")
この例では、print("close")
の前のインデントが余分(空白6個など)になっており、for
文のブロック内に統一されていません。このため、Pythonはどのブロックに属するか判断できず、以下のようなエラーメッセージを出力します。
Cell In[2], line 3
print("close")
^
IndentationError: unexpected indent
5.インデントの標準ルールとコーディングスタイル(PEP8)
Pythonコミュニティでは、PEP8(ペップエイト)という標準コーディングスタイルが推奨されており、インデントは空白4個を使うことが基本となっています。タブキーと空白を混ぜることは避け、一貫した方法でインデントを行う必要があります。エディタによっては、タブ入力を自動的に空白4個に変換する機能もあるので、これを活用するとよいでしょう。
インデントで気をつける点
- タブとスペースの混在: Python ではタブとスペースを混在させると、インデントの深さが一致しない可能性があり、
IndentationError
の原因になる。 - 空白の個数: 標準的には 4 スペース が推奨(PEP8)。エディタの設定でタブを自動的にスペースに置き換えるようにすると、混乱を防止できる。
まとめ
Pythonではインデントがプログラムの構造そのものを決定するため、他の言語と比べて厳格なルールが適用されます。正しいインデント(一般的には空白4個)を使用することで、コードの可読性が向上し、意図しない動作やエラーを防ぐことができます。不適切なインデントによるエラーを経験するかもしれませんが、PEP8などの標準に従うことで、安定したコーディングが実現できます。インデントの重要性とその役割を十分に理解し、適切に活用することで、より読みやすく、保守性の高いプログラムを書くことができるでしょう。