結論:Pythonのエラーは、まず末尾の種類と説明を読み、次に自分のファイルと行番号を確認します。直す場所を決めたら、一か所ずつ変更して同じ入力で再実行しましょう。
- 長い表示を一度に理解しようとせず、「何が起きたか」「どこで起きたか」を分ける。
- エラーが示す行は手がかり。原因が前の行や渡された値にある場合もある。
- 消えたかだけでなく、期待した結果になったかまで確かめる。
Pythonを学び始め、赤い文字が並ぶとどこを読めばよいか分からない人向けの記事です。基本的なエラー表示を読み、次の確認を一つ選ぶところまで扱います。ライブラリの複雑な不具合や本番システムの障害対応を、この記事だけで解決するものではありません。
末尾の説明から、自分のコードへ戻る
Python公式チュートリアルは、構文エラーと実行中の例外を区別しています。処理されていない例外では、末尾に例外の種類と説明が出て、その前に呼び出しの経路などが表示されます。以下の読み順は、その情報を初心者が確認しやすく並べた編集部の提案です。
- 末尾:NameErrorなどの種類と、その後の説明
- 場所:自分が編集しているファイル名と行番号
- 値と流れ:その行へ何の値が渡り、どこで作られたか
Tracebackは、例外に至った呼び出しの経路を示す表示です。関数を呼び出した行が複数並ぶことがあります。末尾の種類を読んだ後、自分のファイルが出てくる箇所を探し、呼び出した側と呼び出された側を対応させます。先頭の行だけを原因と決めつけません。
構文エラーでは、行番号や矢印が文法の確認に役立ちます。ただし、矢印の位置が修正箇所そのものとは限りません。例えば、手前で閉じ忘れた括弧や、条件文のコロンも確認対象です。表示の細かな文言・矢印はPythonのバージョンや実行環境で変わります。
種類を手がかりに、次の確認を選ぶ
次の表は学習用の小さな例です。エラー名だけで原因を断定する表ではありません。同じ種類でも別の原因があり、説明文とコードを合わせて確認します。すべての種類を暗記する必要はありません。
| 種類 | 学習用の発生例 | 次の確認 |
|---|---|---|
| SyntaxError | if True print(1) | 条件文のコロン・改行・括弧など、文法を確認する |
| NameError | 未定義のscoreを表示 | 名前の綴り、定義した場所、実行順を確認する |
| TypeError | "3" + 1 | 値の型と、意図している処理を確認する |
| ValueError | int("三") | 変換したい値の内容と、受け入れる入力条件を確認する |
| IndexError | [10, 20][2] | 要素数と添字を確認。2要素のリストの添字は0と1 |
上の例は記事制作時の学習用環境で実行し、示した種類が発生することを確認しました。実際の利用経験を示すものではありません。種類の詳しい意味はPython公式の組込み例外で確認できます。
TypeErrorを読む例:文字列と数値を分ける
次は説明用に作ったコードです。数値の3に1を足したいのか、文字列の末尾に1を付けたいのかで、修正は変わります。
print("3" + 1)
# TypeError: can only concatenate str (not "int") to str
末尾にTypeErrorがあり、説明にはstrとintが出ています。ここでは文字列と整数を、そのまま連結しようとしています。数値として4を表示したいなら、例えばprint(int("3") + 1)とできます。一方、31という文字列を作りたいならprint("3" + "1")です。エラーを消す修正と、目的を満たす修正は同じとは限りません。
入力を数値に変換する場合も、「三」や空欄などを受け入れるのか、利用者へ再入力を求めるのかを決めます。無条件に変換を足せばすべて直る、とは考えません。実際の入力処理は、教材の仕様や必要な条件に合わせて作ります。
エラーが出ないのに結果が違う場合は、printで値・型・分岐を調べる手順で処理の途中を確認できます。
確認できない点は、具体的な質問にする
この手順のメリットは、長い表示から次に見る場所を選びやすいことです。一方、表示だけでは入力・環境・呼び出し元の問題まで分からず、再現確認に時間がかかる場合があります。学習用コードなら変更前のコピーを残して試せますが、勤務先の本番環境で見知らぬ修正を試す方法には向きません。権限と担当者の手順を優先してください。
送れる形にする確認メモ
- 実行したファイル・操作・入力
- 期待した結果と実際の結果
- 秘密情報を除いたエラー全文
- 変更した一か所と、変更後の結果
- まだ分からない点と、次に聞きたい一点
エラー文を検索するときは、種類と特徴的な説明を使い、個人情報やファイル内の秘密を検索欄へ入れません。AIや検索で得た修正案も、現在のバージョン・目的に合うかを確認します。表示を隠すだけの修正では、何が起きているか分からなくなる場合があります。
相談文へまとめるときはプログラミングの質問テンプレートを使えます。確認した変更と結果は学習記録に戻しておくと、次に同じ問題が起きたときの材料になります。
まとめ:種類・場所・値を分けて、一つずつ試す
- 例外の末尾を読み、自分のファイルと行番号へ戻る。
- 矢印や行番号だけで原因を断定しない。
- 変更は一か所ずつ。同じ入力で再現を確認する。
- エラーが消えた後も、期待した結果と比較する。
まず今のエラー表示から「種類」「自分のファイルの行番号」「そこで使う値」をメモしてください。分からない項目があれば、それが次に相談する具体的なポイントです。
最終確認日:2026年10月8日。技術情報:Python公式「エラーと例外」。読み順、確認表、判断図は編集部作成。本文の例はPython 3を想定しています。