3-2. インデントと空白のルール

テクニック

結論
Pythonでは インデントと空白が文法の一部 です。
PEP 8では「スペース4つ」が基本ルールであり、読みやすさと一貫性のために守る必要があります。


なぜインデントが大切なのか?

Pythonは { } の代わりに インデントでブロックを表現します。
インデントがずれていると、エラーやバグの原因になります。

#良い例:
if True:
print("OK")

#悪い例(エラーになる):
if True:
print("NG")

👉 他の言語では許される曖昧さも、Pythonでは厳格に禁止されます。


PEP 8 のインデントルール

  • インデントは スペース4つ(タブは使用しない)
  • ネストが深くなりすぎたら、関数に分ける

良い例:

for i in range(5):
for j in range(3):
print(i, j)

悪い例(インデントがバラバラ):

for i in range(5):
for j in range(3):
print(i, j)

よくある間違い

  1. タブとスペースの混在
    → エディタ設定で「タブをスペース4つに変換」を有効にする
  2. 行末の余計な空白
    → 見えないゴミとして残るので、ツール(flake8, black)で削除
  3. ネストが深すぎる
    → インデントが8レベル以上になる場合、関数やクラスに分割するのが望ましい

実務での工夫

  • エディタ設定
    • VSCodeやPyCharmで「インデント=スペース4つ」をデフォルトに
  • 自動整形ツール
    • black を使えば、インデントや空白を自動で修正してくれる
  • チームルール
    • プロジェクト全体で同じ設定を共有することが大切

まとめ

  • Pythonでは インデント=文法 なので厳格に守る必要がある
  • PEP 8は「スペース4つ」を推奨、タブは避ける
  • 空白の入れ方は「読みやすさ」を優先し、余計なスペースは入れない
  • ツールを活用して「気づいたら守れている」状態を作るのがおすすめ
テクニック
スポンサーリンク
この記事を書いた人

運営者について

当サイトは、個人が運営する学習・記録ブログです。

AI・データサイエンス・自動化を中心に、
Python、G検定・DS検定の学習内容や、
実際に試しながら整理した知識をまとめています。

特定の企業や団体に属さない個人サイトとして、
学習過程で得た気づきや判断の整理を目的に運営しています。

「知識はあるが、どう使えばよいか分からない」
「情報が多く、判断に迷ってしまう」
といった状態を減らすことを目的に発信しています。

専門家として教える立場ではなく、
自分自身がつまずき、試し、整理してきた過程をそのまま共有するスタイルです。

用語の暗記やテクニックの紹介よりも、
・なぜそう考えるのか
・どの順番で判断するのか
・どこで迷いやすいのか
といった思考の整理を重視しています。

学び場をフォローする
学び場をフォローする
タイトルとURLをコピーしました