さて、今回は「いまさらpython学習」の3回目です。前回までに実行環境のインストールと、標準の IDE である IDLE を利用し、エディタに書いたコードが実行できるところまでを確認しました。今回は、IDEを使う最大のメリットであるデバッグについて、確認していきたいと思います。
前回の記事は以下を参照
より高機能なVSCodeでデバッグする
デバッグ機能の確認
デバッグの基本である、「変数の中をのぞく」、「ステップ実行をする」、「ブレークポイントで止める」などについて確認したいと思います。
まずは以下のように、変数s1とs2に文字列を代入し、変数sにs1とs2を結合した文字列を代入し、変数sを表示するシンプルなコードを書いてみます。前回作ったのprint文だけのコード(test.py)を修正します。
1 2 3 4 | s1='Hello ' s2='Python.' s=s1+s2 print(s) |
変数の中をのぞく
デバッガーを使うと、変数に何が入ったかを確認することができます。今回、s1やs2、sといった変数を用意しているので、この変数をのぞいてみましょう。
シェルウィンドウの「Debug>Debugger」をクリックします。
Debug Controlウィンドウが立ち上がり、シェルウィンドウに[DEBUG ON]の文字が出たと思います。これでデバッグモードがONになりました。
続いて、前回のようにコードを実行します。エディタウィンドウで[Run>RunModule]をクリックします。
すると、シェルウィンドウと、DebugControlウィンドウの表示が変わります。この状態は、test.pyの1行目で止まっている状態です。DebugControlウィンドウで、「Over」をクリックします。
s1 に Hello が代入されたことが見えます。同様に「Over」を実行していくと、s2 や sにも文字列が代入されていく様子が見えます。ひとまずこれで変数の中は見えました。
ステップ実行をする
先ほどの変数の中をのぞくための確認でも、十分ステップ実行していましたが、コード量が多くなったり、複雑になってくると、行数だけではなく実際のソースコード上の「どこ」を実行しているかを可視化してほしいです。
DebugControlウィンドウの「Souce」にチェックを入れてから、エディタウィンドウで[Run>RunModule]をクリックします。
操作は先ほどと同じで、DebugControlウィンドウの「Over」をクリックしてステップ実行していきます。「Over」をクリックすることで、エディターウィンドウで1行ずつハイライト(この例では灰色)が移動していきます。これで現在実行している箇所が視覚的に分かります。
ブレークポイントで止める
コードの量が増え、より複雑になっていくと、目的の行まで一気に進めたくなります。(※100回も「Over」をクリックなんてしたくないですよね・・。)そんな時に役に立つのが、ブレークポイントです。
エディターウィンドウのブレークポイントを設定したい行で、右クリックし「Set Breakpoint」を選択します(左の画像)。ブレークポイントが設定されると、その行がハイライト(この例では黄土色)されます(右の画像)。
操作は先ほどとほとんど同じで、DebugControlウィンドウの「Souce」にチェックを入れてから、エディタウィンドウで[Run>RunModule]をクリックします。DebugControlウィンドウで、「Go」をクリックすると、ブレークポイントを設定した行まで実行された状態で、停止します。実際のデバッグでは、ここから「Over」で一行ずつ実行していきます。
これで一通り、IDLEを使って、pythonの学習を行う準備ができました。お疲れさまでした。