この記事は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%の人工知能「検察官」を開発、現在テスト中
[[388979]]デジタル時代においては、情報の流れがあらゆるものの中心となります。すべてが感知...
量子コンピューティングはブロックチェーンを破壊するのか、それともより安全にするのか? 01 序文コン...
100日間以上にわたる激しい競争では、国内トップクラスのテクノロジー企業40社以上が競い合い、競争...
[[386945]]私はかつて「ウォーリーと一緒に星を見上げる」というタイトルの記事を書き、ビッグ...
有名な AI ペイントツール Midjourney が再びユーザーに衝撃を与えました。先月バージョン...
[[349478]] LRU は Least Recently Used の略で、よく使われるページ...
企業に対するセキュリティ上の脅威は常に存在していましたが、インターネットの発展により、脅威は物理空間...
編集者注: Amazon の Echo スマート スピーカーや自動運転車などのスクリーンレス ユーザ...
著者 |ブライト・リャオ「プログラマーから見たChatGPT」の記事では、開発者のChatGPTに対...
[[406759]]マイクロコントローラの主な機能は、周辺機器を制御し、特定の通信とデータ処理を実現...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
標準、再帰、畳み込み、オートエンコーダネットワークディープラーニングの急速な発展により、多種多様なタ...