【Pyton】インデントが持つ意味とエラーの対処法

Python

Pythonのインデントの使い方に悩んでいる人「Pythonを始めた。pythonではインデントが重要だというふうに聞いたんだけど、一体どんな意味があるのか知りたい。」

こういった疑問に答えます。本記事を読むことでPytonにおけるインデントの重要性を知ることができます。

本記事でわかること

  • インデントとは何か(読み飛ばしOK)
  • Pythondeのインデントの一般的な使い方
  • インデントエラーが出たときの対処法

【Pyton】インデントが持つ意味とエラーの対処法

今回の記事ではインテンドについて解説を行います。インデントはプログラミングの中でも特にpythonにおいて重要な意味を持ちます。その重要性と、python初心者の方が陥りがちなエラーについての対処法を解説していきます。

インデントとは何か

インデントとはコードの前に空白を開けて、字下げを行うことです。このインデントは通常のプログラミングにおいてはコードを見やすくするという意味を持ちます。ただPythonは他のプログラミング言語とは異なり、インデントに重要な意味があります。

それが同じ数の空白でインデントされた箇所をひとまとまりのブロックとして考えるということです。つまりここまでの話をまとめるとpythonではインデントに以下の役割があります。

Pythonにおけるインデントの役割

  • ブロックの識別
  • コードを見やすくするため

Pythonでインデントを使う際のルール

それではインデントの空白の個数はどのように決めればいいのでしょうか。PythonのスタイルガイドであるPEP8での規定は以下のようになっています。

PEP8に規定されているインデントのルール

  • インデントのために開ける空白の個数はひとつブロックを変えるごとに4つ開ける
  • ただし、コードが長くなる場合には見やすさのために適宜個数を変えて良い

このようにルールが決まっています。

インデントの方法

インデントはスペースキーを4回入力することでもできますし、タブを使ってインデントすることもできます。ただPEP8ではタブを使うことは推奨されていません。タブを使うメリットはその簡便さです。タブキーを1回押すとインデントすることができます。ただし、タブキーを用いたインデントでは別環境でのエラーエディター設定の変更が必要になるデメリットがあります。

なるべくスペースキーを用いたインデントを心がけましょう。

Pythonでインデントする際によく生じるエラーとその対処法

インデントする際によく起きるエラーは既出ですが、空白の個数を間違えてしまうことです。

具体的なコード例

if test>=60:
    print('合格です、おめでとうございます!')
else:
    print('不合格です。')
        print('次は頑張ってください。')
実行結果
#点数が70点の場合
合格です、おめでとうございます!
次は頑張ってください。

こんなふうに、本来出力されて欲しくない「次は頑張ってください。」も出力されてしまいました。これはインデントの空白の個数が異なるために、else内のメソッドではないと判断されてしまったためです。

対処法が以下になります。

インデントでエラーが出るときの対処法

  • 空白の個数を自分の中で決定する(4つ推奨)
  • タブキーを用いる(非推奨)

まとめ

いかがでしたでしょうか。今回はPythonのインデントについて解説しました。以下にもう一度まとめを掲載します。

Pythonにおけるインデントの役割

  • ブロックの識別
  • コードを見やすくするため

PEP8に規定されているインデントのルール

  • インデントのために開ける空白の個数はひとつブロックを変えるごとに4つ開ける
  • ただし、コードが長くなる場合には見やすさのために適宜個数を変えて良い

インデントでエラーが出るときの対処法

  • 空白の個数を自分の中で決定する(4つ推奨)
  • タブキーを用いる(非推奨)

今回の記事はここまでになります。ここまでご覧いただきまして有り難うございました。