Pythonを学び始めると必ず出てくるルールのひとつが「インデント(字下げ)」です。
Pythonでは、他の言語のように波かっこ {}
を使わず、インデントによって処理のまとまり(ブロック)を表現するという独自のルールがあります。
この記事では、Pythonのインデントの意味やルール、使い方、よくあるミスまでを初心者向けにわかりやすく丁寧に解説します。
インデントとは?
インデント(indent)とは、行の先頭に空白(スペース)やタブで字下げを行うことです。
Pythonではこのインデントがとても重要で、「どこからどこまでが同じ処理のまとまりか」を判断するために使われます。
例えば 、if 文や for 文、関数などの中身は、必ずインデントを使って書く必要があります。
具体例①:if 文でのインデント
まずはインデントの基本的な使い方を見てみましょう。
1 2 3 4 5 6 |
x = 10 if x > 5: print("5より大きい") print("条件に合致") |
このコードでは:
if x > 5:
の条件が真のときに実行する処理が- 下の2行で インデントされている ことで「if 文の中」と判断されます
インデントされていない場合、次のようなエラーになります。
1 2 3 |
if x > 5: print("これはエラー") # ← IndentationError が出る |
具体例②:関数定義の中でのインデント
関数の中身も、すべてインデントして書く必要があります。
1 2 3 4 5 6 |
def greet(): print("こんにちは") print("ようこそ!") greet() |
このように、関数名の次の行から、すべての処理をインデントして書くことで、そのブロックが関数の中であるとPythonが認識します。
インデントの幅は?タブとスペースの違い
Pythonでは、インデントの幅に「何スペース使うか」は自由ですが、同じファイルの中では統一する必要があります。
おすすめは:
- 半角スペース4つ(PEP8という公式スタイルガイド推奨)
- タブは非推奨(スペースと混ざるとエラーの原因になる)
具体例:
1 2 3 4 |
# 推奨(スペース4つ) for i in range(3): print(i) |
VS Code や PyCharm などのエディタでは、自動でスペース4つになるように設定しておくと安心です。
具体例③:ネストが深くなる場合のインデント
条件分岐の中にさらに繰り返し処理を書く場合など、インデントが2段、3段になることがあります。
1 2 3 4 |
for i in range(3): if i % 2 == 0: print(f"{i} は偶数です") |
このコードでは:
for
の中でif
を使い、- その中でさらに
print()
をインデントしてネストしています
ネストが深くなるときも、インデントは常に4スペースずつ増やすというルールで統一するのが一般的です。
インデントでよくあるエラーと対処法
初心者がつまずきやすいポイントとして、以下のようなミスがあります。
1. インデントがバラバラ(タブとスペース混在)
1 2 3 4 |
if True: print("タブ") # ← タブ print("スペース") # ← スペース → エラー |
すべて「半角スペース4つ」に統一しましょう。
2. インデント忘れ
1 2 3 |
def test(): print("インデントなし") # ← IndentationError |
3. インデントがずれた
1 2 3 4 |
for i in range(3): print(i) # ← スペース2つ print("OK") # ← スペース4つ |
インデントエラーが出ている場合は、ChatGPT等にコードをチェックしてもらって、インデント調整してもらうのも1つの選択肢ですね。
まとめ
今回はPythonにおけるインデントの基本ルールについて紹介しました。
- Pythonではインデントでコードのブロックを表す(中か外か)
- 一般的には スペース4つ を使うのが推奨
- if文・for文・関数などでは、必ずインデントを入れる
- インデントが混在するとエラーになりやすいので統一する
- エディタの自動整形機能やインデント表示を活用すると安心
Pythonは「インデントが構文の一部」となっている珍しい言語です。
最初は戸惑うかもしれませんが、読みやすいコードを書くための強力な味方でもあります。
正しくインデントを使いこなして、きれいでわかりやすいPythonコードを書いていきましょう。