Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでのあいまいなインデントの検出


インデントはPython構文の重要な機能です。関数、クラス、またはループ内のコードブロックは、その中のステートメントに対して同じインデントレベルに従う必要があります。 Pythonの標準ライブラリのtabnannyモジュールは、この規定の違反を検出できます。

このモジュールは、主に–mスイッチを使用したコマンドラインモードでの使用を目的としています。ただし、インタプリタセッションでインポートすることもできます。

コマンドラインの使用法
python –m tabnanny –q example.py

詳細な出力には、–v switch

を使用します
python –m tabnanny –v example.py

プログラムでインデントをチェックするために、tabnannyモジュールで次の関数が定義されています。

check()

この関数は、指定されたファイル内のあいまいにインデントされた行をチェックします。ディレクトリをパラメータとして渡すこともできます。その中のすべてのファイルが再帰的にチェックされます。

import tabnanny
tabnanny.check('example.py')

tabnanny.verbose −このフラグは、詳細メッセージを出力するかどうかを示します。スクリプトとして呼び出された場合、これは-vオプションによって増分されます。

tabnanny.filename_only −このフラグは、空白関連の問題を含むファイルのファイル名のみを印刷するかどうかを示します。スクリプトとして呼び出された場合、これは-qオプションによってtrueに設定されます。

process_tokens()-

この関数は、tokenizeモジュールによって生成されたトークンを処理するためにcheck()によって使用されます。この関数は、あいまいなインデントが検出された場合にNannyNag例外を発生させます。 check()でキャプチャされ、処理されます。


  1. OpenCVを使用したPythonでの行検出?

    この投稿では、ハフ変換と呼ばれる手法を使用して、画像内の線を検出する方法を学習します。 ハフ変換? ハフ変換は、単純な形状を数学的な形式で表現できる場合に、その形状を検出するための特徴抽出方法です。少し壊れたり歪んだりしても、なんとか形を検出できます。ラインに対してどのように機能するかを見ていきます。 「単純な」形状とは、いくつかのパラメータで表現できる形状です。たとえば、線は2つのパラメータ(傾き、切片)のみで表すことができ、円には3つのパラメータ(中心の座標と半径(x、y、r))があります。 ハフ変換を使用して画像から線を検出する 線は方程式で表すことができます-またはパラメトリック

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

    Pythonは、1991年に最初にリリースされた新しいプログラミング言語です。この言語は、その大規模な包括的なライブラリで知られており、機能、必須、手続き型、オブジェクト指向などのいくつかのプログラミングパラダイムをサポートしています。 「インデントエラー:インデントされたブロックが必要です ’はあらゆる種類のユーザーに発生します。彼らが初心者であろうと経験者であろうと。 Pythonはすべてのコードを正しい空白で配置するため、インデントが不適切な場合、コードはコンパイルされず、エラーメッセージが返されます。 PEP8で従う規則によれば、必要に応じて4つの空白が必要です。すべてのプログラ