修正:インデントエラーPython

Pythonは、1991年に初めてリリースされた新しいプログラミング言語です。この言語は、その大規模な包括的なライブラリで知られており、機能、命令型、手続き型、オブジェクト指向などのプログラミングパラダイムをサポートしています。

Pythonのインデントエラー

インデントエラー:インデントされたブロックが予期されます 」は、あらゆる種類のユーザーに対して発生します。 初心者でも経験者でも Pythonはすべてのコードを正しい空白で配置するため、インデントが不適切な場合、コードはコンパイルされず、エラーメッセージが返されます。

PEP8に準拠した規則に従って、必要に応じて4つの空白が必要です。 コードの可読性が向上するように、すべてのプログラマーが適切なインデントを使用することが理想的です。

Pythonのインデントエラーの原因は何ですか?

前述のように、このエラーは主にコードにスペースまたはタブエラーがあるために発生します。 Pythonは手続き型言語を使用しているため、タブ/スペースを正しく配置していない場合、このエラーが発生する可能性があります。 プログラムは正常に実行される場合がありますが、インタープリターがこのエラーを検出すると、エラーメッセージが中央に表示されます。 エラーの原因のいくつかは次のとおりです。

  • コードでスペースとタブの両方を使用しています。 両方を同じ意味で使用すると、インタープリターは使用するアイテムを決定できなくなります。
  • インデントが間違っています。 インデントの慣行に従わないと、必然的にこのエラーが発生します。
  • 「if」、「for」、「while」などの複合ステートメントをインデントするのを忘れました。
  • ユーザー定義の関数またはクラスをインデントするのを忘れました。

解決策1:間違った空白/タブを確認する

この問題の即時修正はありません。 コードはあなたのものなので、各行を調べて、どこで間違いを犯したかを確認する必要があります。 コードには、構造に関していくつかのブロックがあります。 「If」ステートメントがある場合は、それに続くコードにインデントが必要です。

インデントを視覚化するブロック構造

上の図をご覧ください。 特定のブロックのインデントは、新しいブロックが途中で導入された場合でも、コード全体で同じままであることを確認してください。 インデントが一貫していることを確認してください。 スペースを使用している場合は常にスペースを使用し、タブを使用している場合は常にタブを使用します。 2つの混合は問題を引き起こします。

インデントの例

正しいインデントは上の例に示されています。 まずは「for」ループをご覧ください。 「for」ループのすべてインデントする必要があります。 「for」ループ内には、「if」ステートメントがあります。 「if」ステートメント内では、すべてをさらにインデントする必要があります。

インデントエラーが発生した場所を簡単に確認するには、エラーログを確認し、エラーの発生元の行を確認します。

解決策2:エディターでタブ/スペース記号を有効にする

すべてのプログラマーのように「推測」によってコードをインデントするのが難しい場合は、IDEまたはコードエディターでタブ/スペースのシンボルを有効にできます。 このオプションは、コード内の小さな「ドット」を有効にします。各ドットはスペースまたはタブを表します。 これを使用して、コードをより適切にインデントし、余分なインデントがないか、欠落していることを確認できます。

この例では、Notepad ++を使用して、シンボルを有効にする方法を確認します。 コード編集に別のソフトウェアを使用している場合は、そのソフトウェア固有の設定を有効にできます。

  1. [表示]> [シンボルを表示]> [空白とタブを表示]を押します

    空白とタブの有効化– Notepad ++
  1. これでオプションが有効になりました。 また、 インデントガイドを有効にして、 作業を簡単にすることもできます。

正しいインデントを使用したサンプルコード

上記の例を確認してください。 各クラスの後に実装されたインデントを参照してください。 各スペースは単一のドットで表されます。 コードの間違ったインデントに変更を加えた後、再度実行して、問題が解決するかどうかを確認してください。

興味深い記事