【実践6日目】初心者がつまずくPythonエラーTOP10をチャッピー先生が解説

エラーで困っている日本人女性がチャッピー先生に教えてもらっている

こんにちは、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

エラー修正のコツ

エラーを素早く修正するためには、以下のポイントに気をつけると効果的です。

  1. エラーメッセージをよく読む
    エラーメッセージは問題の場所と原因を示してくれるヒントです。まずはエラー内容をよく読みましょう。
  2. コードを一行ずつ確認する
    コード全体を見て修正しようとすると、つい見逃しがちです。特にエラーが出た行を重点的に確認しましょう。
  3. エラーの再現を試みる
    同じエラーを繰り返してみて、どのパターンでエラーが発生するかを確認することで、原因がつかめやすくなります。

エラーメッセージを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をチャッピー先生が解説 今ココ

当ブログは基本的にリンクフリーです。リンクを行う場合の許可や連絡は不要です。

エラーで困っている日本人女性がチャッピー先生に教えてもらっている

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
読みたいところに飛べる目次