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つ」を推奨、タブは避ける
  • 空白の入れ方は「読みやすさ」を優先し、余計なスペースは入れない
  • ツールを活用して「気づいたら守れている」状態を作るのがおすすめ
タイトルとURLをコピーしました