- 1. はじめに|Python初心者がエラーでつまずくのは当たり前
- Python初心者がよく出すエラー10選と解決方法
- 2-1. SyntaxError: invalid syntax
- 2-2. IndentationError: unexpected indent
- 2-3. NameError: name '〇〇' is not defined
- 2-4. TypeError: unsupported operand type(s)
- 2-5. IndexError: list index out of range
- 2-6. KeyError: '〇〇'
- 2-7. AttributeError: '〇〇' object has no attribute '〇〇'
- 2-8. ZeroDivisionError: division by zero
- 2-9. ValueError: invalid literal for int() with base 10
- 2-10. ModuleNotFoundError: No module named '〇〇'
- 3. エラーと仲良くなるためのコツ
- 4. まとめ|エラーは成長のチャンス!
- 5. あわせて読みたい
- よくある質問(Q&A)
1. はじめに|Python初心者がエラーでつまずくのは当たり前
Pythonをはじめたばかりの人が、まず最初にぶつかる壁――それが「エラー」です。
「プログラムを動かしたら、なんか英語のメッセージがずらーっと出てきた…」
「よくわからないけど、動かない!ムズい!もう無理…!」
そんなふうに感じたこと、ありませんか?
でも安心してください。エラーが出るのは、むしろ普通のことなんです!
実は、プロのエンジニアだって、毎日のようにエラーに悩まされています。
違いがあるとすれば、「エラーをどう読み取って、どう直すか」の経験があるかどうかだけ。
Pythonでは、エラーが出たときに「どこで、なにが原因で、どうすればいいか」を教えてくれるヒントがエラーメッセージとして表示されます。
このメッセージの意味がわかるようになると、エラーがだんだん怖くなくなりますよ。
このページでは、Python初心者がよく出会うエラーを10個ピックアップして、
それぞれの原因と解決方法をわかりやすく紹介していきます。

📣「エラーは失敗じゃなくて、学びのチャンス」
そんな気持ちで、一緒にエラーに立ち向かっていきましょう!
Python初心者がよく出すエラー10選と解決方法
2-1. SyntaxError: invalid syntax
🔸どんなエラー?
「文法が間違ってますよ」というエラーです。
Pythonでは、コードの書き方(=構文)に少しでも間違いがあると、このエラーが出ます。
🔸よくある原因
ifやforのあとにコロン(:)をつけ忘れた- カッコの閉じ忘れや、ダブルクォーテーションのつけ忘れ
- 全角文字(全角スペースなど)をうっかり使っている
🔸対処法
まずはエラーメッセージに出てくる行をチェックして、書き方のミスを見直してみましょう。
エディタの自動補完機能を使うのもおすすめです!
# エラーになる例
if x == 10
print("10です")
# 修正後(コロンを追加)
if x == 10:
print("10です")
2-2. IndentationError: unexpected indent
🔸どんなエラー?
「インデント(字下げ)の位置がおかしいですよ」というエラーです。
Pythonでは、インデントで処理のまとまりを表すため、とても重要なんです。
🔸よくある原因
- スペースとタブが混ざっている
- インデントの段数がそろっていない
🔸対処法
インデントはスペース4つで統一するのがおすすめです。エディタ設定で「タブをスペースに変換」にしておくとミスを減らせます。
# エラーになる例
if True:
print("OK")
print("ずれてる") # ←ここが余計に空いてる
# 修正後
if True:
print("OK")
print("そろってる")
2-3. NameError: name '〇〇' is not defined
🔸どんなエラー?
「その名前(変数や関数)は定義されてませんよ」というエラーです。
🔸よくある原因
- 変数名のスペルミス
- 定義する前に使っている
🔸対処法
コード内でその名前が正しく定義されているか確認しましょう。定義した行より前で使っていないかも見てみてください。
# エラーになる例
print(score) # scoreを定義してない
score = 100
# 修正後
score = 100
print(score)
2-4. TypeError: unsupported operand type(s)
🔸どんなエラー?
「その演算は、使ってる型ではできませんよ」というエラーです。
🔸よくある原因
- 文字列と数値をそのまま足そうとした
- 関数に間違った型の引数を渡した
🔸対処法
型を明示的に変換するようにしましょう。たとえば int() や str() を使って、データをそろえます。
# エラーになる例
age = 18
print("年齢は" + age + "歳です") # 数値と文字列をそのまま足している
# 修正後
print("年齢は" + str(age) + "歳です")
2-5. IndexError: list index out of range
🔸どんなエラー?
「そのリストの番号、範囲を超えてますよ」というエラーです。
🔸よくある原因
- リストに3つしかないのに、
list[3]を使ってる(0から数えるので、最大はlist[2])
🔸対処法
リストの長さを len() で確認してから使うと安心です。
# エラーになる例
fruits = ["りんご", "みかん", "バナナ"]
print(fruits[3]) # 3番目は存在しない!
# 修正後
if len(fruits) > 3:
print(fruits[3])
else:
print("そんなに入ってないよ!")
2-6. KeyError: '〇〇'
🔸どんなエラー?
「そのキー(名前)は辞書にありませんよ」というエラーです。
🔸よくある原因
- 辞書に存在しないキーを使おうとした
- キーのスペルミス
🔸対処法
辞書を使う前にキーが存在するか確認するか、.get()を使えば安全に値を取り出せます。
# エラーになる例
user = {"name": "たろう"}
print(user["age"]) # "age"というキーはない
# 修正方法①:存在チェック
if "age" in user:
print(user["age"])
else:
print("年齢の情報がありません")
# 修正方法②:get()で取り出す
print(user.get("age", "不明")) # "不明"がデフォルトになる
2-7. AttributeError: '〇〇' object has no attribute '〇〇'
🔸どんなエラー?
「そのオブジェクトには、そんな機能(メソッドやプロパティ)はないですよ」というエラーです。
🔸よくある原因
- メソッド名のスペルミス
- 間違った型に対してメソッドを使っている
🔸対処法
その変数がどんな型なのかを type() で調べて、正しいメソッドか確認しましょう。
# エラーになる例
text = "こんにちは"
text.push("!") # push() は文字列には存在しない
# 修正後
text += "!"
print(text)
2-8. ZeroDivisionError: division by zero
🔸どんなエラー?
「0で割ろうとしてますよ」というエラーです。
数学と同じで、プログラムでも0で割ることはできません。
🔸よくある原因
- 変数が0になっていることに気づかず割ってしまう
🔸対処法
割る前に if 文でゼロかどうかをチェックしましょう!
# エラーになる例
a = 10
b = 0
print(a / b) # 0で割ってしまう!
# 修正後
if b != 0:
print(a / b)
else:
print("0では割れません!")
2-9. ValueError: invalid literal for int() with base 10
🔸どんなエラー?
「文字列を整数に変換しようとしたけど、できません」というエラーです。
🔸よくある原因
- 数字っぽく見えても、文字列に全角文字や文字が混ざっている
- 空文字や「abc」のような変換できない文字列をint()で変換
🔸対処法
int() を使う前に、入力値が本当に数値かチェックしましょう。try-except を使って、安全にエラーを回避する方法もあります。
# エラーになる例
age = "十六" # 日本語の文字列
print(int(age))
# 修正後(try-exceptで回避)
try:
print(int(age))
except ValueError:
print("数字で入力してください!")
2-10. ModuleNotFoundError: No module named '〇〇'
🔸どんなエラー?
「そのモジュールは見つかりません」というエラーです。
Pythonに読み込ませたいライブラリがインストールされていない場合によく出ます。
🔸よくある原因
- モジュールのインストール忘れ
- 名前のスペルミス
- 仮想環境の切り替え忘れ
🔸対処法
まずは正しい名前でインストールされているか確認し、pip install モジュール名 を使ってインストールしましょう。
# 例:gspreadというモジュールを使いたい場合
pip install gspread
3. エラーと仲良くなるためのコツ
Pythonを勉強していると、必ず出会うのがエラー。
でも、「エラー=失敗」ではありません。むしろ、エラーは成長するチャンスなんです!
ここでは、エラーと上手につきあっていくためのコツを紹介します。
🔹 コツ①:エラーメッセージを「読んでみる」
エラーが出たとき、つい焦ってウィンドウを閉じたり、全部消して書き直したくなりますよね…。
でも、ちょっとだけ勇気を出して、エラーメッセージを読んでみましょう!
たとえば:
NameError: name 'score' is not defined
これは、「scoreっていう名前がどこにも定義されてないよ〜」ってPythonが教えてくれてるんです。
最初は意味がわからなくても大丈夫。
ひとつずつ調べたり、この記事のようによくあるエラー集を見ていくうちに、「あっ、このエラー前にも見た!」ってなりますよ。
🔹 コツ②:print()で“中身”を見てみよう
エラーの原因を探すときに便利なのが print() です。
コードの途中に print() を入れて、変数の中身や処理の流れを確認してみましょう。
age = "16"
print(type(age)) # 変数の型を表示
print(age)
「この値、思ってたのと違うぞ?」
そんな気づきがエラー解決のカギになります!
🔹 コツ③:「自分だけじゃない」と知ろう
エラーで落ち込むのは、あなただけじゃありません。
誰でも最初はつまずきますし、むしろ何回つまずけるかが上達のカギだったりします。
Googleでエラーメッセージを検索してみると、同じところで悩んだ人の質問が山ほど出てきます。
それだけ、みんな同じようにエラーを経験してるってことですね。
🔹 コツ④:ChatGPTや検索をどんどん活用しよう!
困ったときは、一人で悩まずに「助けを借りる」のが一番!
このChatGPTもそのためにありますし、検索すれば公式ドキュメントや親切なブログもたくさん見つかります。
👉 ChatGPTの使い方がよくわからない人は、
【初心者向け】ChatGPTの使いかた完全ガイド|登録から活用法までやさしく解説! もぜひチェックしてみてくださいね!
✅「わからない → 検索 → 解決」
これを繰り返すことが、Pythonマスターへの近道です!

エラーが出ても「やってみた証拠」なので、落ち込む必要はまったくありません。
エラーと仲良くなればなるほど、プログラミングがもっと楽しくなっていきますよ!
4. まとめ|エラーは成長のチャンス!
ここまで、Python初心者がよくつまずくエラーとその解決法を10個紹介してきました。
最初のころは、「エラーが出る=失敗」と思って落ち込んでしまいがちです。
でも実は、エラーはあなたの味方なんです。
エラーメッセージは、あなたに「ここがおかしいよ」「こう直すといいよ」とヒントをくれています。
それを一つひとつ読み解いていくうちに、どんどんプログラミングが楽しくなってきます。
✅ この記事で紹介したポイントのおさらい
- よくあるエラーは、誰でも必ず一度は経験する
- 原因と対処法を知れば、もう怖くない!
- print()やChatGPTを活用して、エラーと仲良くなろう
- わからないときは、検索や質問をためらわない!
Pythonの勉強に“正解の道”はありません。
でも、エラーに立ち向かった数だけ、確実にスキルは伸びていきます。
焦らず、自分のペースで、少しずつでOKです。
このページが、あなたの学びの手助けになればうれしいです!
5. あわせて読みたい
Pythonの学習を進める中で、「あ、これも知っておいたほうがいいかも!」という知識ってありますよね。
ここでは、今回のエラー解決とあわせて読んでおくと理解が深まる記事を紹介します!
🔸 Pythonの基本文法をおさらいしたい方におすすめ
📘 【Python入門2】Pythonの基本構文をやさしく解説|改行・インデント・エラー対応まで初心者向けに丁寧に紹介
→ エラーの原因になりやすいインデントやコロン忘れも、ここでしっかり確認!
🔸 エラーを減らすために if文・for文を理解しよう
📘 【Python入門7】if文とelif文の使い方をやさしく解説|条件分岐の基本を初心者向けに解説!
📘 【Python入門8】for文とwhile文の違いと使い方をやさしく解説|初心者でもすぐに理解できる繰り返し処理の基本
→ 条件分岐や繰り返しは、エラーの温床になりやすいので要チェック!
🔸 入力処理や変数の扱いをマスターしてエラーを防ごう
📘 【Python入門3】Pythonの変数とは?命名ルールと使い方を初心者でもわかるように解説!
📘 【Python入門6】Pythonの演算子と優先順位をわかりやすく解説|初心者でも理解できる基本ルール
→ 「NameError」「TypeError」などの回避に役立つ基本が学べます。
🔸 ChatGPTを活用してエラー解決をもっとスムーズに
🤖 【初心者向け】ChatGPTの使いかた完全ガイド|登録から活用法までやさしく解説!
→ エラーの意味がわからないとき、ChatGPTに聞いてみるのが一番早い!
よくある質問(Q&A)
- QPythonのエラーって、どうしてこんなに英語で難しいの?
- A
Pythonはもともと海外で開発された言語なので、エラーメッセージも英語で表示されます。でも大丈夫!
エラーの多くは決まったパターンがあるので、少しずつ「見慣れてくる」と自然に読めるようになりますよ。英単語も「name(名前)」「index(番号)」など、よく使うものばかりです。
- Qエラーが出たとき、何をすればいいの?
- A
まずはエラーメッセージを読むことが第一歩!
次に、エラーが出た行をチェックして、スペルや文法ミスがないか確認しましょう。
それでもわからない場合は、エラーメッセージをコピーしてGoogle検索してみるのが一番早いです!
- Q同じエラーばかり出るんですが、どうすれば?
- A
「またか…」と落ち込まずに、エラーの意味と原因をメモしておくのがおすすめです。
ノートやメモアプリに「このエラーはこう直せる」と書き残しておくと、次に出たときにすぐ対応できますよ!







※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。
※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。