こんにちは、Python初心者のハナマルコです。
Pythonを始めたばかりの頃って、ちょっとコードを書いただけなのに、エラーが出て「うわっ!なにこれ!?」って焦ることありませんか?
今回は、そんな私のために(そしてあなたのためにも)、代表的なエラー10個をチャッピー先生に解説してもらいます。間違ったコードとエラーメッセージ、そして修正後のコードも紹介します。
前回のスプレッドシート連携でもエラーに悩まされましたが・・・
▶ 【実践5日目】Python✕スプレッドシートで作るTODO管理ツール
- Python初心者がよく遭遇する代表的なエラー10個とその原因、修正方法がわかる。
- エラーメッセージの読み方やコード修正のコツを学べる。
- エラーを恐れずに、次回から冷静に対処できるようになるヒントが得られる
実践シリーズを初回から読みたい方:
▶ 【実践0日目】Python入門:ChatGPTと一緒に「Pythonとは?」を調べてみた
エラーの種類(代表的なもの10個)
ここでは、初心者がよく遭遇するエラーとその解説を行います。間違ったコードとエラーメッセージ、そして修正後のコードも紹介していきます。
①SyntaxError: invalid syntax

これは文法エラーです。例えば、カンマを忘れたり、括弧を閉じ忘れたりすると出ます。
間違ったコード
print("こんにちは"
エラーメッセージ:
SyntaxError: invalid syntax
修正後のコード:
print("こんにちは")
# 実行結果
こんにちは



こんな小さなミスでエラーが出ちゃうんですね!
②IndentationError: unexpected indent



インデント(字下げ)が予期せぬ位置にあると出るエラーです。Pythonはインデントを使ってブロックを示すから、ここを間違えるとエラーになります。
間違ったコード:
print("Hello")
エラーメッセージ:
IndentationError: unexpected indent
修正後のコード:
print("Hello")
実行結果
# 実行結果
Hello



インデントってめっちゃ大事なんですね…!
このエラーは家計簿計算スクリプトを作った時にも遭遇しました。
▶ 【実践3日目】Pythonで家計簿&残業代計算:初心者でもできる生活支援スクリプト
③NameError: name '〇〇' is not defined



定義していない変数や関数を使おうとすると出るエラーです。例えば、message
という名前を定義していないのに使ってしまった場合です。
間違ったコード:
print(message)
エラーメッセージ:
NameError: name 'message' is not defined
修正後のコード:
message = "やっほー"
print(message)
実行結果
# 実行結果
やっほー



あっ、使う前に定義しないといけないんですね!
④TypeError: can only concatenate str (not "int") to str



文字列と数字をそのまま足そうとすると、型が違うってエラーが出ます。str()
で数字を文字列に変換してあげる必要があります。
間違ったコード:
age = 10
print("私は" + age + "歳です")
エラーメッセージ:
TypeError: can only concatenate str (not "int") to str
修正後のコード:
age = 10
print("私は" + str(age) + "歳です")
実行結果
# 実行結果
私は10歳です



数字と文字列、組み合わせるには型を合わせないといけないんですね!
⑤ ValueError: invalid literal for int() with base 10



文字列が数字として解釈できない場合に出るエラーです。int()
関数に不適切な文字列を渡してしまった時に起こります。
間違ったコード:
num = int("abc")
エラーメッセージ:
ValueError: invalid literal for int() with base 10
修正後のコード:
num = int("123")



数字っぽくないと変換できないんですね。
⑥ ZeroDivisionError: division by zero



ゼロで割ることはできないから、このエラーが出ます。数学的にも論理的にも、ゼロで割ることは避けましょう。
間違ったコード:
print(10 / 0)
エラーメッセージ:
ZeroDivisionError: division by zero
修正後のコード:
number = 0
if number != 0:
print(10 / number)
else:
print("割れません!")
実行結果
# 実行結果
割れません!



ゼロ割りはダメなんですね!数学の基本です!
⑦IndexError: list index out of range



リストの範囲外を指定した時に出るエラーです。リストのインデックスは0から始まるので、範囲を超えないように気をつけてください。
間違ったコード:
fruits = ["りんご", "バナナ"]
print(fruits[2])
エラーメッセージ:
IndexError: list index out of range
修正後のコード:
fruits = ["りんご", "バナナ"]
if len(fruits) > 2:
print(fruits[2])
else:
print("そんな果物はないよ")
実行結果
# 実行結果
そんな果物ないよ



リストの長さを確認してからアクセスするんですね!
⑧ AttributeError: '〇〇' object has no attribute '△△'



そのオブジェクトが持っていないメソッドを呼び出そうとしたときに出るエラーです。例えば、文字列にはappend()
メソッドは使えないです。
間違ったコード:
text = "こんにちは"
text.append("!")
エラーメッセージ:
AttributeError: 'str' object has no attribute 'append'
修正後のコード:
text = "こんにちは"
text += "!"



文字列にはappend()
が使えないんですね!リスト用の方法でしたか。
⑨ KeyError: '〇〇'



辞書のキーに存在しないものを指定すると出るエラーです。辞書にキーがない場合は、get()
メソッドを使うと安全に処理できます。
間違ったコード:
data = {"name": "ハナマルコ"}
print(data["age"])
エラーメッセージ:
KeyError: 'age'
修正後のコード:
print(data.get("age", "年齢情報なし"))
実行結果
# 実行結果
年齢情報なし



get()
を使うと、キーがなくてもエラーにならないんですね!
⑩ ModuleNotFoundError: No module named '〇〇'



モジュールがインストールされていないときに出るエラーだよ。必要なモジュールがあれば、pip install
を使ってインストールしてね。
間違ったコード:
import pandas
エラーメッセージ:
ModuleNotFoundError: No module named 'pandas'
修正後のコード:
pip install pandas
エラー修正のコツ
エラーを素早く修正するためには、以下のポイントに気をつけると効果的です。
- エラーメッセージをよく読む
エラーメッセージは問題の場所と原因を示してくれるヒントです。まずはエラー内容をよく読みましょう。 - コードを一行ずつ確認する
コード全体を見て修正しようとすると、つい見逃しがちです。特にエラーが出た行を重点的に確認しましょう。 - エラーの再現を試みる
同じエラーを繰り返してみて、どのパターンでエラーが発生するかを確認することで、原因がつかめやすくなります。
エラーメッセージをChatGPTに相談するときのコツはこちら:
▶ ChatGPTとの“ズレ回答”対策!初心者が学んだ質問のコツ
エラー解決にはどのAIが最適?比較記事をチェック:
▶ ChatGPT、Gemini、Claude比較!初心者向け使い分けガイド
まとめ
Pythonでエラーが出ると、最初はびっくりしますよね。でも、エラーメッセージは「ここが間違ってるよ!」って教えてくれるヒントなんです。
今回紹介した10個のエラーは、初心者がよく出会うものばかり。どれも、原因がわかればちゃんと直せます。
少しずつ慣れていけば、エラーが出ても「お、今回はどこが間違ってるかな?」と前向きに考えられるようになりますよ。
焦らず一歩ずつ、チャッピー先生に教えてもらい、ハナマルコと一緒に成長していきましょう!
最後まで読んでいただき、ありがとうございました!
エラー解決がもっとスムースになる秘訣は?:
ー ChatGPTに名前をつけたら世界が変わった!?
Googleアカウントの設定で困ったら:
ー iPhoneで簡単!Googleアカウント登録&パスキー設定ガイド【初心者向け】
実践シリーズで学習を続ける:
ー 【実践0日目】Python入門:ChatGPTと一緒に「Pythonとは?」を調べてみた
ー 【実践1日目】無料で始めるPython学習:ChatGPTと初心者がステップアップする方法
ー 【実践2日目】Python超入門:ChatGPTと学ぶ割り勘・時間計算スクリプト
ー 【実践3日目】Pythonで家計簿&残業代計算:初心者でもできる生活支援スクリプト
ー 【実践4日目】Python初心者向け:安全なパスワード自動生成スクリプトを作ってみた
ー 【実践5日目】Python✕スプレッドシートで作るTODO管理ツール
ー 【実践6日目】初心者がつまずくPythonエラーTOP10をチャッピー先生が解説 今ココ