現在の見出し:9.4節:デバッグ
見出し一覧
- 9.4節:デバッグ
- - Pythonのprint()を使ったデバッグ
- - loggingモジュールを使ったデバッグ
- - 9.4節の演習問題
【PR】『Python』を学べる企業・個人向けのプログラミングコース
Pythonマスター講座第9章 9.4節で学べること
Pythonのprint()を使ったデバッグ
デバッグとは、プログラムプログラムはコンピュータに対して何をすべきかを指示する一連の命令です。の中に潜んでいる問題や不具合を見つけて修正する作業のことです。プログラムが期待通りに動作しない場合やエラーが発生した場合に、その原因を特定して解決するために行う重要な作業になります。
変数の中身を確認する
プログラムの実行中、「変数がどのような値を持っているか」の確認は、デバッグをする上で非常に重要です。print()
関数を使用することで、任意のタイミングで変数の内容を出力しプログラムの動作を理解できます。
変数の型や値を同時に確認したい場合は、type()
関数と組み合わせることによって、より詳細な情報を取得できます。複数の変数を一度に出力する場合は、カンマで区切って指定することで効率的に作業を進められます。
# 変数の値と型を確認するサンプルコード
name = "田中"
age = 25
print("name:", name, "age:", age)
print("type of age:", type(age))
name: 田中 age: 25
type of age: <class 'int'>
行数 | コード | 解説 |
---|---|---|
1行目 | name = "田中" | 文字列文字列は文字の並びを表現するデータ型で、テキストデータを扱うための基本的な構造として広く使用されています。型の変数nameに「田中」を代入代入は変数に値を割り当てる操作です。 |
2行目 | age = 25 | 整数型の変数ageに25を代入 |
3行目 | print("name:", name, "age:", age) | 複数の変数の値を一度に出力。コンマで区切ることで文字列と変数を同時に表示 |
4行目 | print("type of age:", type(age)) | age変数のデータ型データ型はプログラミングで変数やオブジェクトが保持できる値の種類を定義するもので、適切な選択によりメモリ使用量やプログラム効率を最適化できます。をtype()関数で取得して出力。変数がどのような型なのかを確認 |
処理の流れを追跡する
プログラムが「どの処理を実行しているか」を把握するため、各処理の開始時や終了時にメッセージを出力する方法があります。特に関数の実行や条件分岐条件分岐はプログラム内で指定した条件によって処理の分岐を行う制御構造です。では、どの処理が実行されたかを明確にすることで問題を発見しやすくなります。
関数の実行開始と終了にprint()
文を配置することで、プログラムの実行の流れを可視化できます。処理の各段階で意味のあるメッセージを出力することによって、予期しない動作の原因を特定しやすくなります。
デバッグ用のメッセージを出力する際は、どの処理が始まったのか、どの処理が完了したのか、などを分かりやすく記述することが重要です。関数の開始時には「処理開始」、終了時には「処理完了」といったメッセージと共に、計算結果や重要な値も一緒に出力することで効果的なデバッグが可能になります。
# 処理の流れを追跡するサンプルコード
def calculate_tax(price):
print("税計算開始")
tax = price * 0.1
print("税計算完了:", tax)
return tax
result = calculate_tax(1000)
print("結果:", result)
税計算開始
税計算完了: 100.0
結果: 100.0
行数 | コード | 解説 |
---|---|---|
1行目 | def calculate_tax(price): | 税計算を行う関数を定義。引数引数はプログラミングで関数やメソッドに渡される値や変数で、関数の動作を柔軟に制御し、コードの再利用性を高めます。priceを受け取る |
2行目 | print("税計算開始") | 関数の実行開始を示すメッセージを出力。処理の流れを追跡するためのデバッグ用出力 |
3行目 | tax = price * 0.1 | 引数priceに10%の税率を乗算して税額を計算し、tax変数に代入 |
4行目 | print("税計算完了:", tax) | 計算結果と完了メッセージを出力。税額の値も同時に表示してデバッグ情報を提供 |
5行目 | return tax | 計算した税額を関数の戻り値として返す |
6行目 | result = calculate_tax(1000) | 関数を呼び出して戻り値をresult変数に代入。引数として1000を渡す |
7行目 | print("結果:", result) | 最終的な結果を出力。関数から返された値を確認 |