PyCharm 2026.1 Help

最初の Python アプリケーションをデバッグする

問題の原因を突き止める

前のチュートリアル Car スクリプトを作成して実行したことを覚えていますか ? もう少し遊んでみましょう。

スクリプトを実行する実行 ツールウィンドウに対応するコマンドを入力して、車を 1 回加速し、2 回ブレーキをかけます。

スクリプトの実行

次に、 o を押してから Enter を押して、車の実行距離計を表示します。

スクリプトの実行

スクリプトは、車が 0 キロメートル移動したことを示しています。 一度アクセルを踏んだのである程度の距離は走ったはずなので、これは予想外の結果です。 コードをデバッグしてその理由を調べてみましょう。

デバッグを開始するには、まず ブレークポイントを設定する必要があります。 デバッガーはブレークポイントのある行を実行する直前に停止し、プログラムの現在の状態を調べることができます。

車の実行距離計は 15 行目に設定されているため、そこにブレークポイントを置きます。 ガター内の行番号をクリックします。

ブレークポイントの追加

次に、ガターの main 句の横にある アイコンをクリックし、 デバッグ 'car' を選択します。

デバッグコマンド

PyCharm はデバッグセッションを開始し、 デバッグツールウィンドウを表示します。

デバッグツールウィンドウ

車を加速するには、 a を押してから Enter を押します。 デバッガーはスクリプトを実行し、ブレークポイントで停止します。 デバッグ ツールウィンドウの スレッド & 変数 タブが開きます。 self を展開して、変数の現在の値を確認します。

変数の現在値を調べる

デバッガーツールバーの (ステップオーバー) をクリックして、ブレークポイントを含む行を実行します。 odometer の値が 5 になり、次に実行される行 16 がエディターでハイライトされることに注意してください。

ステップオーバー

次に、 (再開) をクリックし、 デバッグ ツールウィンドウの コンソール タブに切り替えます。 b を押してから Enter を押して、車にブレーキをかけるように指示します。 スレッド & 変数 タブに戻り、変数を調べます。 現時点では speed が 0 であることに注意してください。

変数を調べる

をクリックし、再度ブレーキをかけます (b + Enter)。 次に、 スレッド & 変数 タブに切り替えて、次に何が起こるかを分析してみましょう。

変数の値を調べる

odometer の値が 5、 speed の値が -5 であることがわかります。 そのため、実行を再開すると、 odometer は 0 になります。 ツールバーの をクリックすると、それが確実に行われるようになります。

予期しない結果が生じる理由は、 speed 変数の負の値です。

問題の修正

同じ問題が再び発生するのを避けるために、 speed が負の値に減らさないように Carbrake を更新しましょう。

brake メソッドでステートメント self.speed -= 5 を選択し、 Ctrl+Alt+T (コード | 囲む) を押します。

サラウンドコード

if を選択して、ステートメントに条件を追加します。

PyCharm はスタブ if 構造体を作成し、適切な内容で埋めるタスクを残します。

if ステートメントでサランディングするためのスタブ

self.speed >= 5 と入力します。 コードでは、 brake メソッドが speed が 5 以上の場合にのみ 5 を差し引くように指定しました。

メソッド内で条件を指定する

5 より低い速度はどうなりますか ? 実際にゆっくりと走っている車にブレーキをかけると、車は止まります。 それをコード内で指定しましょう。

brake メソッドの最後の行の後に新しい行を追加し、 el... の入力を開始します。 PyCharm では else を挿入できます。 Enter をプッシュして挿入すると、インデントが自動的に修正されます。

Autocompleting else

次に、 self.speed = 0 を追加して、車が停止することを指定します。 brake メソッドの更新されたコードは次のとおりです。

def brake(self): if self.speed >= 5: self.speed -= 5 else: self.speed = 0

もう一度 実行を実行して、問題が解決したかどうかを確認してみましょう。 車を加速してから 2 回ブレーキをかけて、実行距離計を確認します。

問題を修正した後にスクリプトを実行する

現在、期待どおりの正しい結果が得られています。

詳細なデバッグ

デバッグツールウィンドウは、 フレーム変数ウォッチの専用ペインおよび、すべての入力・出力情報が表示される コンソールタブで構成されます。 コンソールを常に表示したい場合は、PyCharm ウィンドウの端のいずれかにコンソールをドラッグしてください。

ステップ

コードが行ごとに何をしているかを見たい場合は、すべての行にブレークポイントを置く必要はなく、コードをステップ実行することができます。

サンプルプログラムをステップ実行するとどのようになるかを見てみましょう。 ウィンドウの上部にある 実行 ウィジェットを使用して、デバッガーを起動または再起動します。

デバッガーの再起動

開いたデバッガーコンソールで a を押して車を加速します。 デバッガーはブレークポイントで停止します。

ステップツールバーボタンを使用して、次に停止する行を選択できます。

ステップツールバー

例: ステップオーバー ボタン をクリックすると、青いマーカーが次のコード行に移動するのがわかります。

デバッグ中にステップオーバーする

action = input("What should I do? [A]ccelerate, [B]rake, " "show [O]dometer, or show average [S]peed?").upper() になるまで をクリックし続けます。

ここで、 ステップイン ボタン Step into icon をクリックすると、デバッガーがファイル parse.py に入ることがわかります。

デバッグ中に踏み込む

ただし、 Step over icon の使用を続けると、アプリケーションが次のループに進むだけであることがわかります。

デバッグ: 次のループに進む

独自のコードに集中したい場合は、 自分のコードにステップイン ボタン Step into my code を使用します。 ライブラリのクラスに足を踏み入れることを避けることができます。

詳細については、 ステップ実行ツールバーおよび プログラムのステップスルー を参照してください。

監視

PyCharm を使うと、任意の変数をウォッチできます。 ウォッチしたい変数の名前を、ツールバー下の 式を評価するか監視を追加する フィールド、 スレッド & 変数 タブで入力します。 例: my_car.time。 ここではコード補完が利用できます。 フィールドの右端にある The Add button をクリックします。

ウォッチ完了

次に、「コンソール 」タブに移動し、任意のコマンド (例: b) を入力します。

スレッド & 変数 タブに戻ると、 my_car.time の現在の値が表示されます。

デバッグツールウィンドウで変数を監視する

詳細については、 ウォッチ式 を参照してください。

インラインデバッグ

コードが何をしているかを簡単に確認できるもう一つの PyCharm 機能に気付いたかもしれません: インラインデバッガーです。 いずれかのブレークポイントを押すと、PyCharm が多くの変数の値をエディター内に表示します:

インラインデバッグ

この インラインデバッグ機能はデフォルトで有効になっています。 インラインデバッグ値が表示されない場合は、デバッガー設定で有効になっていることを確認してください。 デバッガーツールバーの をクリックし、 デバッガー設定 を選択します。 Show Variable Values in Editor が有効になっていることを確認してください。

値をインラインで表示する

要約

やりましたね! おめでとうございます! PyCharm を使って行ったことを繰り返してみましょう:

  • 問題の原因を特定

  • ブレークポイントの設定

  • プログラムのステップスルー

  • ウォッチを作成

  • 式の評価

2026 年 6 月 1 日