カテゴリ: Python 更新日: 2025/12/09

Pythonのエラーメッセージの読み方!よくあるエラーと解決方法

Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonでプログラムを書いてたら、赤い文字のエラーが出て止まってしまいました…。何が悪いのか全然わかりません。」

先生

「Pythonでは、エラーが起きると“エラーメッセージ”が表示されます。それを読めば、どこが間違っているのかヒントがわかりますよ。」

生徒

「でも英語ばかりで難しいです…。初心者でも読めるようになりますか?」

先生

「大丈夫。今回は、Pythonのエラーメッセージの読み方や、よくあるエラーとその解決方法をわかりやすく解説していきます!」

-

1. Pythonのエラーとは?初心者が知っておくべき基本

1. Pythonのエラーとは?初心者が知っておくべき基本
1. Pythonのエラーとは?初心者が知っておくべき基本

Pythonでプログラムを書くとき、間違った文法や実行できない処理があると、プログラムは止まって「エラーメッセージ」を表示します。

エラーは、プログラミングではごく普通のことで、間違いではありません。むしろ、エラーを見て「どこがダメだったか」を理解することが成長につながります。

Pythonのエラーメッセージは、原因・行番号・エラーの種類が表示されるようになっています。

2. エラーメッセージの基本構造を見てみよう

2. エラーメッセージの基本構造を見てみよう
2. エラーメッセージの基本構造を見てみよう

まずは、Pythonでエラーが出たときの典型的な表示を見てみましょう。


print("こんにちは"

  File "main.py", line 1
    print("こんにちは"
                     ^
SyntaxError: unexpected EOF while parsing

この例では、「括弧の閉じ忘れ」によるSyntaxError(構文エラー)が起きています。どのファイルの何行目でエラーが発生したかもわかります。

3. よくあるエラー1:SyntaxError(構文エラー)

3. よくあるエラー1:SyntaxError(構文エラー)
3. よくあるエラー1:SyntaxError(構文エラー)

SyntaxErrorは、Pythonの文法ルールを守っていないときに表示されます。

  • 括弧の閉じ忘れ
  • コロン(:)の付け忘れ
  • インデント(字下げ)が間違っている

if True
    print("OK")

SyntaxError: expected ':'

このように、ifのあとにコロンが必要なのに抜けていると、構文エラーになります。

4. よくあるエラー2:NameError(変数が未定義)

4. よくあるエラー2:NameError(変数が未定義)
4. よくあるエラー2:NameError(変数が未定義)

NameErrorは、使おうとした変数や関数がまだ定義されていないときに出ます。


print(message)

NameError: name 'message' is not defined

この場合は、messageという変数が事前に定義されていないので、エラーになります。

先に変数を作ってから使うようにしましょう。

-

5. よくあるエラー3:TypeError(型が合わない)

5. よくあるエラー3:TypeError(型が合わない)
5. よくあるエラー3:TypeError(型が合わない)

TypeErrorは、異なる型のデータを無理に組み合わせたときに出るエラーです。


age = 20
print("年齢は" + age)

TypeError: can only concatenate str (not "int") to str

この場合、文字列と数値を直接つなごうとしてエラーになっています。解決方法は、数値をstr()で文字列に変換することです。


print("年齢は" + str(age))

6. よくあるエラー4:IndentationError(インデントの間違い)

6. よくあるエラー4:IndentationError(インデントの間違い)
6. よくあるエラー4:IndentationError(インデントの間違い)

Pythonでは、インデント(字下げ)がとても大事です。ifforの中は、必ずスペースやタブで字下げする必要があります。


if True:
print("Hello")

IndentationError: expected an indented block

このように、インデントがないとエラーになります。行頭にスペースを入れて整えましょう。

7. よくあるエラー5:ValueError(値が不正)

7. よくあるエラー5:ValueError(値が不正)
7. よくあるエラー5:ValueError(値が不正)

ValueErrorは、正しい型だけど、不正な値を使ったときに出るエラーです。


num = int("abc")

ValueError: invalid literal for int() with base 10: 'abc'

文字列の"abc"は数字ではないので、int()で整数に変換できずにエラーになります。

8. エラーメッセージを読み解くコツと習慣

8. エラーメッセージを読み解くコツと習慣
8. エラーメッセージを読み解くコツと習慣

Pythonのエラーに慣れるためには、次のような習慣が大切です。

  • 何行目でエラーが出たかを見る
  • エラーの種類を覚える(SyntaxError、NameErrorなど)
  • Googleでエラー全文を検索するのも効果的

最初は難しく感じますが、エラーは「バグ」ではなく「アドバイス」と考えて読み解いていきましょう。

まとめ

まとめ
まとめ

Pythonでプログラムを書いていると、必ずといってよいほど遭遇するのがエラーメッセージです。これらのエラーは初めて見ると驚いてしまうものですが、その内容には「どこで」「なにが」「どのように」間違っているのかを示す重要な情報が込められています。エラーの種類、メッセージに含まれるキーワード、行番号、該当するコードの位置などを丁寧に読み取っていくことで、プログラムの問題点を正確に把握し、改善に向けての道筋を立てられます。とくにPythonでは構文エラー・未定義変数・型の不一致・インデントの崩れ・不正な値など、初心者から上級者まで多くの人がつまずくポイントが存在するため、それぞれのエラーの性質と解決方法を理解しておくことが非常に重要です。 また、エラーメッセージは単なる警告ではなく、Pythonが示す「修正のヒント」でもあります。SyntaxError なら文法の間違い、NameError なら変数の未定義、TypeError ならデータ型の不一致、IndentationError はインデントのミスなど、エラー名そのものが原因への手がかりになります。プログラムを修正するときは、まずエラー名を確認し、その後に行番号や表示されたコード部分をチェックすると理解しやすくなります。Pythonが丁寧に教えてくれるメッセージをしっかり読み取ることで、自分でエラーを解決する力が自然と身についていきます。 エラーを恐れず、むしろ積極的に読み解いていく姿勢が成長につながります。エラーメッセージを読み取る習慣がつくと、プログラムの品質が上がるだけでなく、デバッグのスピードも向上します。とくに、コードのどこが問題なのかを正確に特定できるようになると、今後より大規模なプログラムを作る際にも役立ちます。また、複数のエラーメッセージが表示されることもありますが、一つ一つ丁寧に確認していくことで必ず改善できます。 Pythonのエラーメッセージを正しく理解し、迅速に問題を修正できる力は、プログラミングを継続して学習するうえで欠かせないスキルです。エラーに慣れるためには、実際に誤りを含むコードを試し、意図的にエラーを発生させて、その内容を読み解く練習も効果的です。正しいコードと間違っているコードを比較しながら理解を深めれば、エラーメッセージから読み取れる情報がより明確になり、バグ修正がぐっと楽になります。

サンプルプログラム(まとめ用のエラー練習コード)

以下は、よくあるエラーを意図的に発生させ、修正しながら理解を深めるための練習コードです。


# 1. SyntaxError の例(修正版)
# if True
#     print("OK")
if True:
    print("OK")

# 2. NameError の例(修正版)
# print(message)
message = "こんにちは"
print(message)

# 3. TypeError の例(修正版)
# age = 20
# print("年齢は" + age)
age = 20
print("年齢は" + str(age))

# 4. IndentationError の例(修正版)
# if True:
# print("Hello")
if True:
    print("Hello")

# 5. ValueError の例(修正版)
# num = int("abc")
num = int("123")
print(num)

それぞれのエラーがどのように発生し、どのように修正すれば正しく動作するのかを理解することで、Python全体の構文やルールが自然と身につきます。初心者のうちは特に、間違いが起きても慌てずに、エラーの種類・行番号・原因を落ち着いて読み解く習慣をつけると良いでしょう。

先生と生徒の振り返り会話

生徒

「Pythonのエラーメッセージって怖かったんですが、意味を知るとすごく役に立つものなんですね。」

先生

「そうですよ。エラーメッセージを正しく読めるようになると、プログラムの修正がとても早くなります。どこで何が起きているかを教えてくれる大切な情報です。」

生徒

「SyntaxError とか NameError とか、種類によって原因が違うってこともよく分かりました。これからは行番号もきちんと見てみます!」

先生

「その調子です。行番号を読み、該当箇所のコードを確認し、エラー名で原因を推測する。この流れが身につけば、デバッグが格段に楽になりますよ。」

生徒

「エラーを怖がらないようにして、わからなかったら検索する習慣もつけていこうと思います。」

先生

「ええ、とても良い心構えです。エラーは成長のヒントですから、落ち着いて読み解いていけば、どんな問題でも乗り越えられますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのエラーメッセージとは何ですか?なぜ出るのですか?

Pythonのエラーメッセージとは、プログラムの中に間違いがあるときに表示される警告や案内メッセージです。構文ミスや定義されていない変数、インデントのミスなどがあると、プログラムは実行を止めてエラーの内容を教えてくれます。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.6
Java&Spring記事人気No6
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
-
-