今回は、Pythonにおける最重要ルールである「インデント」について、基礎から丁寧に、明日から自信を持ってコードが書けるようわかりやすく解説していきます。
インデントとは「フォルダ整理」と同じ
まずは難しい専門用語を一旦脇に置いて考えてみます。
インデントとは、行の先頭に入れる「空白(スペース)」のことです。
他のプログラミング言語(VBAやJavaなど)では、この空白は「見やすくするため」の飾りであることが多いです。しかし、Pythonでは扱いが大きく異なります。
Pythonにおいて、インデントはプログラムを正しく動かすための「絶対的なルール」となります。
日常のPC作業で使う「フォルダ階層」や「箇条書きの階層構造」をイメージしていただくと、非常に理解しやすくなります。
- 親フォルダ(営業部)
- 子フォルダ(第一営業課)
- 孫フォルダ(Aさん)
- 孫フォルダ(Bさん)
- 子フォルダ(第一営業課)
このように右へ一段下がっている(字下げされている)項目は、上位グループの「内包データ」であることが直感的に伝わります。
Pythonも全く同じです。「この処理は、このグループに属する内容です」とコンピューターへ明確に伝えるためにインデントを使います。
基本ルールは「半角スペース4つ」
では、具体的にどう書けばいいのでしょうか?
答えはとてもシンプルで、1つの数字を意識するだけです。
「インデント = 半角スペース 4つ」
これだけです。
キーボードの「Space」キーをタンタンタンタンと4回叩くか、VS Codeなどの開発環境であれば「Tab」キーを1回押すだけで、自動的に半角スペース4つ分に変換されます。
なぜ「半角スペース4つ」なのか?
文法上は「スペース2つ」や「Tabコード」のままでも動作自体は可能です。
しかし、Python公式のコーディング規約(PEP 8)において、「スペース4つが最も視認性に優れ美しい」という標準推奨が定められています。
仕事の書類のフォーマットがバラバラだとイライラしますよね?
そこで「みんなで4つに統一しよう!」と決めておくことで、誰が書いても読みやすいコードになるイメージです。
実践!コピペで試せるコード例
それでは、実際のコードで違いを比較してみましょう。
「売上目標を達成したかどうか判定する」簡単なコードを書いてみます。
良い例(正常に動作するコード)
条件(if)の中身が、しっかりスペース4つ分下がっています。
# 売上目標チェックのプログラム
sales = 1500000 # 今月の売上
target = 1000000 # 目標金額
if sales >= target:
# 這裡是if文の「中身」です
print("目標達成です!")
print("報奨金の申請をしましょう。")
print("今月のチェック終了!")
悪い例(エラーが発生するコード)
インデントがない場合、Pythonはどの範囲までが条件処理に含まれるのかを判別できず、エラーを出力して停止してしまいます。
if sales >= target:
print("目標達成です!") # ✖ ここで IndentationError が出ます!
注意点:混在によるトラブルを防ぐ
初心者が最も陥りやすい落とし穴は、「Tabキーによる空白」と「スペースキーによる空白」を同じファイル内で混在させてしまうことです。
画面上の見た目は同一に見えても、コンピューター内部では異なる文字コードとして扱われます。この混在に起因する不具合は視覚的に発見しにくいため、ベテランでもデバッグに時間を取られる原因となります。
「常に半角スペース4つで揃える(エディタの自動補完を活用する)」 と決めて、こうしたトラブルを未然に防ぎましょう。
Pythonは、実は初学者に 「優しい」言語
「スペースの文字数まで厳密に決まっているなんて、少し窮屈だな」と感じられたかもしれません。
でも逆なんです。他の言語では構造を明示するために 「{ }」や「End If」など、たくさんの記号を書かないといけません。
Pythonは「字下げをするだけで、構造を理解してくれる」とても賢く、記述量が少なく、非常に直感的な設計となっています。
さらに、強制的にインデントを求められるおかげで、初心者が書いても、ベテランが書いても、自然と同じように綺麗で読みやすいコードに仕上がります。
まとめ
- インデントはプログラムの「グループ構造」を定義する最重要ルール
- 記述の基本は「半角スペース4つ」に統一する
- エラーが出た際は、最初に行頭の空白やTabの混在を確認する
初めはスペースの数を意識することに少し手間に感じる場面もあるかもしれません。
でも、慣れるとこのリズムが心地よくなります。「ここからグループの中身だ」と構造を意識しながら書くことで、プログラミングに必要な論理的思考力も自然と身についていきます。
無理なく自分のペースで進めていきましょう!
Pythonの本は種類が多すぎて、業務効率化に使えるのか見分けるのが大変ですよね。実務自動化に5年以上携わってきた私が、「デスクワークの自動化に即戦力になった本」を厳選して紹介します。失敗しない1冊を見つけたい方は、ぜひ参考にしてみてください。

コメント