プログラミングの用語一覧へ
このページの目次

インデントとは?

読み方:インデント

最終更新:2026/08/18

3秒でわかる

行頭の字下げのこと。Pythonでは見た目を整える習慣ではなく文法そのもので、量がずれるとエラーになるか結果が変わります。

もう少し詳しく

どういうものか

インデントは行頭に入れる空白のことです。多くの言語では読みやすさのための習慣にすぎませんが、Pythonでは処理のまとまりを表す文法として扱われます。iffordef の行末にコロンを書き、次の行から字下げした範囲が、そのブロックの中身になります。

字下げの量は、半角スペース4つが公式スタイルガイドの推奨です。同じブロックの中で量がそろっていれば2つでも動きますが、そろえる意味でも4つに統一します。

なぜ必要か

他の言語が波かっこで囲んで表す範囲を、Pythonは字下げだけで表します。かっこが無いぶん記号が減って読みやすく、「見た目のインデントと実際の処理範囲が食い違う」という事故が起きません。C系の言語では、字下げは深いのにかっこが閉じていて範囲外だった、という読み間違いが起こり得ます。Pythonでは見えているものがそのまま範囲です。

具体例

字下げの位置が1段違うだけで、処理される回数が変わります。

total = 0 for price in [100, 200, 300]: total += price print(total) # <a href="/glossary/loop" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">ループ</a>の中なので3回出力される total = 0 for price in [100, 200, 300]: total += price print(total) # ループの外なので最後に1回だけ

上は 100 / 300 / 600 と3行出力され、下は 600 の1行だけです。エラーにならず結果だけが変わるので、この違いは自分で気づくしかありません。

つまずきやすいところ

最も多いのが、タブとスペースの混在です。画面上は同じ幅に見えても、Pythonは別の文字として扱い TabError になります。エディタで「タブをスペースに変換」の設定を有効にしておけば起きません。

次に多いのが、コピーした行の字下げが1段深いままになるケースです。IndentationError: unexpected indent はこれが原因です。逆に、if の中身を書き忘れて次の行を字下げしないと IndentationError: expected an indented block になります。中身を後で書くつもりなら pass を1行置いておきます。

if stock == 0: pass # 後で在庫切れの処理を書く

似た用語との違い

インデントは行頭の字下げ、ブロックは字下げによってできた処理のまとまりを指します。字下げは手段で、ブロックが結果です。JavaScriptやJavaで言えば、インデントに相当するのが空白、ブロックに相当するのが波かっこの中身です。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地インデントプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

Pythonコースの全編を見る