Python 逆引き集 | Python基礎・実行環境:インデントを設定する

Python Python
スポンサーリンク
スポンサーリンク

インデントを設定する

Pythonを学び始めた初心者が最初に必ずつまずくポイントが インデント(字下げ) です。 Pythonは「インデントでコードの構造を表す」言語なので、インデントを正しく設定できるかどうかが、プログラムが動くかどうかを左右します。 ここでは、インデントの意味、正しい設定方法、よくあるエラー、実務での注意点までをステップバイステップで丁寧に解説します。

インデントとは何か

インデントとは、コードの行頭に入れるスペース(またはタブ)のことです。 Pythonでは、インデントが「この行はどのブロックに属しているか」を示す役割を持ちます。

インデントが重要な理由

  • Pythonはインデントで処理のまとまりを判断する
  • インデントが間違うと構文エラーになる
  • 読みやすさ・保守性・安全性が大きく変わる
  • PEP 8(Python公式スタイルガイド)でも最重要項目として扱われている

インデントは「Pythonの文法そのもの」です。

インデントの基本ルール(最重要)

スペース4つが標準

Pythonでは スペース4つ が公式推奨です(PEP 8)。

def greet(name):
    print(f"Hello, {name}")
Python
  • def の次の行はスペース4つで字下げ
  • タブは使わない(混在すると危険)

ブロックを作るときにインデントする

Pythonでは、コロン : の後にインデントが必要です。

if score >= 80:
    print("Excellent")
Python
  • if の行の末尾に :
  • 次の行はスペース4つでインデント

インデントを使った基本例題

条件分岐

age = 20

if age >= 18:
    print("成人です")
else:
    print("未成年です")
Python

ループ

for i in range(3):
    print(i)
Python

関数

def add(a, b):
    return a + b
Python

インデントが間違っている例(初心者がよくやるミス)

ミス1:インデントが足りない

if True:
print("Hello")   # ❌ エラー
Python

ミス2:インデントが多すぎる

if True:
        print("Hello")   # ❌ 不自然で読みづらい
Python

ミス3:タブとスペースが混ざっている

if True:
    print("Hello")   # スペース
    print("World")   # タブ(混在) ❌
Python

Pythonはタブとスペースの混在を嫌います。 エディタの設定で「インデントはスペースに統一」するのが安全です。

インデントエラーを深掘りして理解する

Pythonの代表的なエラー:

IndentationError: unexpected indent
IndentationError: expected an indented block

unexpected indent

「そこにインデントがあるのはおかしい」という意味。

expected an indented block

「ここはインデントが必要なのに、されていない」という意味。

インデントエラーは「Pythonが構造を理解できないとき」に発生します。

インデントを正しく設定するための実務テクニック

① エディタの設定で「スペース4つ」に統一する

VS Code、PyCharmなどでは設定できます。

② 自動整形ツールを使う

  • black
  • autopep8

これらはインデントを自動で整えてくれるため、初心者でもPEP 8準拠のコードが書けます。

③ コードブロックの開始と終了を意識する

Pythonでは {} がないため、インデントがブロックの境界です。

インデントのテンプレート(そのまま使える)

条件分岐テンプレート

if condition:
    # 処理を書く
    pass
else:
    # 別の処理
    pass
Python

ループテンプレート

for item in items:
    # item を使った処理
    pass
Python

関数テンプレート

def function_name(param):
    # 処理を書く
    return param
Python

インデントを使った練習問題(初心者向け)

問題

次のコードを正しいインデントに直してください。

def greet(name):
print("Hello")
    print(name)
Python

解答

def greet(name):
    print("Hello")
    print(name)
Python

インデントはセキュリティにも関係する(重要)

読みやすいコードは、セキュリティ上のミスを減らします。

読みにくいコードは危険

def check(user):
 if user == "admin":
  return True
 else:
  return False
Python

インデントが乱れていると、

  • 条件分岐の意図が誤解される
  • バグが見つけにくい
  • セキュリティチェックの漏れが起きやすい

読みやすいコードは安全

def check(user):
    if user == "admin":
        return True
    else:
        return False
Python

まとめ

  • Pythonはインデントでコードの構造を表す
  • 標準はスペース4つ(PEP 8)
  • タブとスペースの混在は危険
  • インデントエラーは「構造が壊れている」サイン
  • 自動整形ツールを使うと安全
  • 読みやすいインデントはセキュリティにも直結する

初心者のうちは、まず スペース4つで統一する ことを徹底するだけで、Pythonコードの安定性が大きく向上します。

タイトルとURLをコピーしました