最終更新日:2020-09-15第7回.while文とデバッグ(ステップイン)プログラムとは処理手順であり、突き詰めれば条件分岐しながら繰り返し処理を行うものです。Pythonでの繰り返し処理のうち、今回はwhile文の説明になります。for文に比べると使用頻度は落ちると思いますが、基本として身に付けておくべきものです。while文で、もし条件を満たすことがないと永久ループしてしまいますそうならない為にもデバッグがきちんとできないと困ります。IDEでのデバッグのやり方を簡単に説明しておきます。インの開始いろいろなステップ実行ブレークポイントの設定デバッグのウィンドウwhile文の構文while文は、条件式が真(True)である間は処理を繰り返します。条件式が偽(False)となった時点でループを抜けます。最後に一度だけ実行continuebreakelse:これらは省略可能です。1変数nを0から1ずつカウントアップしていき、nが5になった時点(条件が偽となった時点)でループが終了します。これは、for文とrange()関数を使った以下と同じです。print(n)インクリメント、デクリメント1ずつ増加させることをインクリメントと言います。逆に1ずつ減らす場合はデクリメントと言います。1このように記述します。1インクリメント・デクリメントの場合は、その為の記述を使ったほうがよいでしょう。+=や-=は累算代入演算子と呼びます。上記では、+1,-1を例としましたが、もちろん+2,-2等の増減値は任意の数値が指定できます。break条件式にTrueを指定しているので、while文は無限にループします。終了条件をif文で書いて、終了条件を満たしたらbreakでループを抜けるようにします。1len()は組み込み関数です。変数名{インデックス}このように記述します。listについては、後の章で詳しく解説します。標準添付のIDEであるIDLEについても最低限の説明をしておきます。shellの起動と新規スクリプトファイルの作成まずはshellを起動します。作成済みのスクリプトがあれば「Open」してください。File」で作成します。エディターが別ウィンドで開きますので、そこにスクリプトを書き込みます。As」で保存してください。「source」「Globals」にもチェックを付けましょう。ボタンを使い分けます。「Over」をクリックすると、エディター画面の現在行が動きます。※「Step」ではrun.pyの内部に入ってしまうのでここでは「Over」を使ってください。下に変数nが表示されています。下の変数nが1になったのが確認できます。「Step」で進むと、run.pyの中に入りステップで進むことができます。これを見ても何も分からないので、当面は「Over」で進めば良いでしょう、ただし、今後defで関数を作った時には「Step」で進める必要もでてきますので、違いは理解しておきましょう。ブレークポイントまで実行。ブレークポイントがなければ最後まで実行される。現在行を実行し次の行で停止します。現在行に関数呼び出しがある場合はその関数の中に入ります。現在行を実行し次の行で停止します。現在行に関数呼び出しがあっても関数の中には入らずに進みます。現在の関数の外に出ます。Stepで入ってきた場合は、元の現在行の次に移ります。デバッグを終了します。ブレークポイントの設定ブレークポイントは、実行をその行で一旦停止させる場合に使います。ブレークポイントを付けたい行で右クリックします。SetとClearがありますので、適宜設定解除してください。「空のPythonファイル」を選択してください。既存のスクリプトファイルがあれば、「既存の項目」で取り込むことができます。名前は適宜変更してください。スクリプトファイル(.py)が追加されました。複数のスクリプトファイルが存在する場合、どのスクリプトを実行するかを選択する必要が出てきます。ファイルとして設定」これで、「開始」で実行するスクリプトとして設定されます。「デバッグの開始(F5)」では、最後まで一気に進んでしまいます。イン(F11)」で1行ずつ進めます。黄色の行はまだ実行されていません。黄色になっている行が、これから実行する行です。※whileの行には停止しません。変数の値が表示されます。変数nの値が変化しているのが分かります。「デバッグの停止」これで停止できます。次のブレークポイントに到達するまでコードを実行します。次のステートメントを実行して停止します。次のステートメントが関数の呼び出しの場合、呼び出されている関数の最初の行でデバッガーが停止します。し、戻り値をすべて適用します。オーバーでは、デバッグする必要のない関数を簡単にスキップすることができます。現在の関数の終わりまでコードを実行し、呼び出し元のステートメントに戻ります。このコマンドは、現在の関数の残りの部分をデバッグする必要がない場合に便利です。エディターのキャレット位置までコードを実行します。このコマンドを使用すると、デバッグする必要がないコードのセグメントを簡単にスキップすることができます。コードの現在の実行ポイントを、キャレットの位置に変更します。このコマンドを使用すると、エラーがある場合や望ましくない副作用があることがわかっている場合などに、コードのセグメントが実行されないようスキップすることができます。次に実行されるステートメントに戻ります。このコマンドは、コード内のさまざまな場所をチェックしたために、デバッガーがどこで停止しているかわからなくなってしまった場合に便利です。現在行を実行し次の行で停止します。現在行に関数呼び出しがある場合はその関数の中に入ります。Studioのステップインは、組み込み関数の中には入りません。現在行を実行し次の行で停止します。現在行に関数呼び出しがあっても関数の中には入らずに進みます。オーバー」を使い分ける必要はありません。実行を指定位置で一時停止させることができます。「実行(F5)」または「開始」を実行しても、ブレークポイントが設定されている行で一旦停止します。ブレークポイントを設定したい行を選択し(入力カーソルを置く)ショートカットはF9です。マウスでも設定できます。ブレークポイントが設定されると、(既定の設定なら)茶色反転になります。デバッグのウィンドウ機能が非常に沢山あります。Microsoftの以下のページを参考にしてください。変数の値を確認したり、その場で式を評価したりすることができます。?に続けて変数名や式を入れてEnterします。ウィンドウ現在のスコープ内のすべての変数が表示されます。スコープとは、現在実行中のスクリプトの適用範囲になります。defでの関数定義を説明する時に詳しく解説します。現在のステートメントに近い変数と式が表示されます。見るTRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)無効な前方参照か、コンパイルされていない種類への参照です。Case)|VBA入門9.メッセージボックス(MsgBox関数)|VBA入門10.マクロとは?VBAとは?VBAでできること|VBA入門ホームPython入門while文とデバッグ(ステップイン)このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。アクセスランキングサイトマップ事業案内お問い合わせホームPython入門while文とデバッグこのサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。