この記事は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%の人工知能「検察官」を開発、現在テスト中
[[334883]]最近、ノートルダム大学のポストドクター研究員 Weiwen Jiang、Yiy...
Java ME ゲーム開発では、衝突検出アルゴリズムを実装する必要があることがよくあります。たとえば...
5月23日、 「実体経済の新たなエンジンを動かす『中核』のダイナミックエネルギー」をテーマにしたイ...
最近、世界インターネット会議で「世界インターネット発展報告書2020」が発表されました。報告書では、...
01 データサイエンスとは何ですか? データサイエンスは何をするのですか?まずはデータサイエンスの分...
最近、GPT-4に関連した創造的思考テストが人気になっています。モンタナ大学とUMウエスタン大学の研...
サイバー犯罪は人工知能の時代に入り、ランサムウェアやAPTなどの高度な脅威は「サイバー犯罪技術革命」...
アルカテル・ルーセント・エンタープライズの英国ヘルスケア部門責任者であるニール・ハンフリー氏が、デジ...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
[[206073]] ####背景:#### Spark graphxは最大クリークマイニングアルゴ...
7月7日のニュースによると、サンフランシスコのテクノロジー業界は、数か月に及ぶレイオフの後、人工知能...
企業が選択する経済発展の道は、多くの場合、時代の背景によって決まります。さまざまな経済状況下で適切な...
Sora のテクノロジーの分析が進むにつれて、 AI インフラストラクチャの重要性がますます明らかに...