Pythonを学ぶうえで絶対に避けて通れないのがインデント(字下げ・空白)です。
他のプログラミング言語では {}
(波かっこ)を使ってコードの範囲を示すことが多いですが、Pythonではインデントそのものが文法の一部になっています。
つまり、インデントを正しく書かないとプログラムは実行できず、SyntaxError(文法エラー)になってしまいます。 Pythonの入門者が最初につまずきやすいポイントでもあるため、ここでしっかり理解しておきましょう。
インデントとは、行の先頭に入れる空白(スペースやタブ)のことです。
Pythonでは、このインデントを利用してコードブロック(まとまり)を表現します。
例えば、関数の中の処理やif文・for文などの条件分岐やループ処理は、インデントを使って「この範囲が中身ですよ」と明確に示します。
Pythonでインデントが重要とされる理由は以下の通りです。
コードの階層(構造)を示すため → どこまでが関数の中か、どこからループが始まり終わるのかをインデントが決めています。
可読性を高めるため → コードが整理され、初心者でも理解しやすくなります。
文法上必須であるため → インデントを間違えると、その場でエラーが出てプログラムが動きません。
Pythonでは「インデントがない=そのブロックが終わった」という意味になります。
Pythonのインデントには、次のようなルールがあります。
このルールを理解して、サンプルコードを実行してみましょう!
実際にインデントを使った関数と条件分岐の例を見てみましょう。
def greet(name):
if name:
print(f"こんにちは、{name}さん!")
else:
print("こんにちは、ゲストさん!")
greet("太郎")
greet("")
関数やif文の使い方については今後の講座で解説しまが、上記のコードでは、def文からインデントがあります。 さらにif文からインデントされており、コードが階層分けされています。
greet関数を実行する部分では、インデントがなくなりdef文が終了していることを意味しています。
次に、インデントを用いたループの例を見てみましょう。
for i in range(5):
print(f"カウント: {i}")
print("ループが終了しました。")
上記のコードでは、for文がインデントされています。 printの左側が空白になっていることがわかります。
このインデントがあるおかげで、Pythonは「どこまでがループの処理か」を理解できます。
初心者がPythonでインデントを扱う際によくある間違いは以下の通りです。
1.スペースとタブを混ぜてしまう → エラーの原因になるため、設定で「スペースのみ」に統一するのがおすすめです。
2.インデントの深さが揃っていない → 同じ階層にある行は同じだけインデントしてください。
3.インデントを忘れる
→ if文やfor文の中でインデントを入れ忘れるとIndentationError
になります。
これらのポイントに注意しながらコーディングしましょう!
Pythonでは、インデントを用いることでコードの構造を明確に示します。条件文やループなど、さまざまな状況でインデントを活用することが重要です。 正しいインデントを使用することで、可読性が高く、エラーの少ないコードを書くことができます。
今後の学習においても、インデントに注意を払いながらコーディングしていきましょう。