見出し画像

【第14回】Pythonのエラーとデバッグの基本

こんにちは。

プログラミングをしていると、エラーは必ず発生します。この記事では、Pythonの基本的なエラーの種類と、エラーが出たときの対処法をやさしく解説します。


1、エラーとは?

エラーとは、プログラムの実行中に問題が発生し、処理が止まることです。Pythonでは、エラーの種類ごとにメッセージが表示されるので、それを読み解くことで問題を解決できます。

Pythonのエラーには大きく分けて以下の3種類があります。

  1. 構文エラー(SyntaxError)

  2. 実行エラー(例外 / Exception)

  3. 論理エラー(バグ)

2、構文エラー(SyntaxError)

構文エラー(SyntaxError)は、Pythonの文法に誤りがあるときに発生します。

例:カッコの閉じ忘れ

print("こんにちは"

→ SyntaxError: unexpected EOF while parsing(カッコが閉じられていない)

例:コロンの付け忘れ

if True
print("OK")

→ SyntaxError: expected ':'(コロン : を忘れている)

対処法

  • エラーメッセージをよく読む

  • コードの書き方をもう一度見直す

  • 似た記号(全角・半角の違いなど)を確認する

3、実行エラー(例外 / Exception)

構文は正しくても、実行時に問題が発生すると「例外(Exception)」というエラーが出ます。

例:ゼロで割る(ZeroDivisionError)

print(10 / 0)

→ ZeroDivisionError: division by zero(ゼロで割れない)

例:存在しない変数を使う(NameError)

print(name)

→ NameError: name 'name' is not defined(変数 name が定義されていない)

例:型の間違い(TypeError)

print("年齢は" + 20 + "歳です")

→ TypeError: can only concatenate str (not "int") to str
(文字列と整数をそのまま足せない)

対処法

  • エラーメッセージの英単語を確認する(Zero = 0, Division = 割る, Name = 名前)

  • 変数がちゃんと定義されているか確認する

  • 型が正しいか type() でチェックする

4、論理エラー(バグ)

論理エラーはエラーが出ないのに、プログラムが思った通りに動かない場合です。

例:計算ミス

x = 10
y = 5
print("合計:", x - y)  # 本当は足し算が正しい

例:リストの範囲外アクセス

numbers = [1, 2, 3]
print(numbers[3])  # インデックスは0から2までしかない

→ IndexError: list index out of range

対処法

  • print() を使って変数の値を確認する

  • range() の範囲をしっかりチェックする

  • 期待する動作と、実際の動作を比べる

5、デバッグの基本

エラーを見つけて直す作業を「デバッグ」と言います。Pythonのデバッグにはいくつかの方法があります。

・print() を使う

プログラムの途中で print() を使って変数の値を確認します。

x = 10
y = 0
print("x:", x)
print("y:", y)  # ここでyの値を確認
print(x / y)  # ここでエラー発生

・エラーメッセージには

  1. どのファイルの何行目でエラーが出たか

  2. どんな種類のエラーか
    が書かれています。これをヒントに、どこを直せばいいのか考えましょう。

・try-except を使う(例外処理)

エラーが発生してもプログラムが止まらないようにできます。

try:
print(10 / 0)
except ZeroDivisionError:
print("ゼロで割ることはできません")

まとめ

  • SyntaxError は文法ミス(カッコの閉じ忘れ、コロン忘れ)

  • 例外(Exception) は実行時のミス(ゼロ除算、未定義の変数)

  • 論理エラー はプログラムが正しく動かない(計算ミス、範囲外アクセス)

  • print() を活用してデバッグしよう!

  • エラーメッセージを読む習慣をつける!

エラーはプログラミングに慣れるほど、すぐに対処できるようになります。最初はびっくりするかもしれませんが、落ち着いてエラーメッセージを読み、修正していきましょう!


いいなと思ったら応援しよう!