この記事はWeChatの公開アカウント「Python Technology」から転載したもので、著者はPai Senjiangです。この記事を転載する場合は、Python Technology Public Account にお問い合わせください。 アルゴリズムを書くときは、常に各行の各変数を 1 つずつデバッグする必要があり、場合によっては複数の print を記述する必要があります。アルゴリズムの問題を理解するには長い時間がかかります。 pysnooper モジュールは、操作中に変数の値を出力できます。 モジュールのインストール
簡単な例簡単な例として、簡単な演繹アルゴリズムの問題を示します。
結果:
pysnooper は、行番号、行の内容、変数の結果など、実行プログラム全体を記録していることがわかります。このアルゴリズムの実際の状況を簡単に理解できます。また、コードをデバッグするために debug や print を使用する必要もありません。時間と労力を節約できます。メソッドの上に @pysnooper.snoop() という行を追加するだけです。 複雑な使用pysnooperには複数のパラメータが含まれています。見てみましょう 出力 出力はデフォルトではコンソールに出力され、設定後はファイルに出力されます。サーバーで実行する場合、特定の時間にコードの問題が発生した場合にエラーの場所を特定しやすいですが、そうでない場合は途方に暮れやすくなります。実際、私はこの問題に何度も悩まされ、そのたびに大量の髪の毛が抜け落ちました。
結果の例: ウォッチとウォッチ_explode watch は、追跡のために非ローカル変数を設定するために使用されます。watch_explode は、すべての設定された変数が監視されるのではなく、未設定の変数のみが監視されることを意味します。これは、watch とまったく逆です。
結果例 監視パラメータが追加されていません
ウォッチパラメータを追加すると、Starting var:.. indexになります。
深さ depthは関数の深さを監視します
結果例
監視結果では、呼び出された関数を監視すると、レコードにインデントが追加され、そのローカル変数と戻り値が印刷されることがわかります。 接頭辞 プレフィックス 出力コンテンツのプレフィックス
結果例
相対時間 relative_time コードが実行される時間
結果例
最大変数長 max_variable_length 出力変数と例外の最大長。デフォルトは 100 文字です。100 文字を超えると切り捨てられます。出力を切り捨てないようにするには、max_variable_length=None を設定します。
結果例
要約するこの記事では、pysnooper ツールの使い方を紹介します。pysnooper はデバッグと印刷を減らすだけでなく、アルゴリズムの問題を理解するのにも役立ちます。 |
<<: IEEE年末AIレビュー:ネットユーザーがGPT-3に悪態をつくよう教える、DeepMindが再びロボットを作る
>>: 中国の教授が犯罪認識率97%の人工知能「検察官」を開発、現在テスト中
[[252430]]ビッグデータダイジェスト制作編纂者:江宝尚今年 9 月に開催された Deep L...
ほとんどの人は、ロボットやアプリケーション ツールについて話すときにインテリジェンスについて言及しま...
Python3 を使用して、写真内のすべての顔を認識して表示します。コードは次のとおりです。 # -...
顔認識技術の利用が増えるにつれ、さまざまなリスクが徐々に明らかになってきています。 CCTVの「3....
昨夜、「LK-99は韓国当局により偽物と摘発され、常温超伝導体ではない」というニュースがインターネッ...
2020年、国内の新たな消費が活況を呈する一方で、海外市場も急速な成長機会の新たな波を迎えています...
人工知能 (AI) と機械学習 (ML) は、データセンター分野の重要なテクノロジーとなっています。...
デジタル技術によって変革されない業界を見つけるのは難しいですが、適応型セクターも例外ではありません。...
人工知能は、人間による情報の統合、データの分析、機械の助けを借りた洞察の獲得のプロセスを再構築し、人...
UI デザイナーとフロントエンド エンジニアの間にニューラル ネットワークが必要になる場合があります...