はじめに
プログラミングを始めたばかりの頃は、エラーが出るたびに「なんで!?」と悩みがちです。でも大丈夫!誰もが通る道です。この記事では、初心者がよく遭遇するエラーと、その解決法をわかりやすくまとめました。エラーと仲良くなれば、成長も加速します!
1. 文法エラー(SyntaxError)
例
print("Hello, World!"
エラー内容:
SyntaxError: unexpected EOF while parsing
原因と解決法
- カッコやクォートの閉じ忘れが原因です
-
解決法:
コードのカッコやクォートが正しく閉じているか確認しましょう
2. インデントエラー(IndentationError)
例
if True:
print("Hello")
エラー内容:
IndentationError: expected an indented block
原因と解決法
- インデント(字下げ)が正しくない場合に発生します
-
解決法:
Pythonではインデントが重要です。スペースやタブが混ざっていないかも確認しましょう
3. 名前エラー(NameError)
例
print(msg)
エラー内容:
NameError: name 'msg' is not defined
原因と解決法
- 変数や関数の名前が間違っている、または定義前に使っている場合に発生します
-
解決法:
変数や関数が正しく定義されているか、スペルミスがないか確認しましょう
4. 型エラー(TypeError)
例
num = 5 + "10"
エラー内容:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
原因と解決法
- 異なる型同士で演算や操作をしようとした場合に発生します
-
解決法:
型変換(キャスト)を使いましょう。
例:num = 5 + int("10")
5. インデックスエラー(IndexError)
例
lst = [1, 2, 3]
print(lst[3])
エラー内容:
IndexError: list index out of range
原因と解決法
- リストや配列の範囲外のインデックスを指定した場合に発生します
-
解決法:
インデックスが0から始まること、リストの長さ未満であることを確認しましょう
6. ゼロ除算エラー(ZeroDivisionError)
例
a = 10 / 0
エラー内容:
ZeroDivisionError: division by zero
原因と解決法
- 0で割り算をしようとした場合に発生します
-
解決法:
割る数が0でないか、事前にチェックしましょう
7. ファイルエラー(FileNotFoundError)
例
open("not_exist.txt", "r")
エラー内容:
FileNotFoundError: [Errno 2] No such file or directory: 'not_exist.txt'
原因と解決法
- ファイル名やパスが間違っている場合に発生します
-
解決法:
ファイルが存在するか、パスが正しいか確認しましょう
8. モジュールエラー(ModuleNotFoundError / ImportError)
例
import nonexistmodule
エラー内容:
ModuleNotFoundError: No module named 'nonexistmodule'
原因と解決法
- インストールされていないモジュールをimportした場合に発生します
-
解決法:
pip install モジュール名
でインストールしましょう。
また、スペルミスにも注意!
9. AttributeError(属性エラー)
例
num = 123
num.append(4)
エラー内容:
AttributeError: 'int' object has no attribute 'append'
原因と解決法
- その型に存在しないメソッドや属性を使おうとした場合に発生します
-
解決法:
オブジェクトの型と使えるメソッドを確認しましょう
dir(変数名)
で確認できます
10. よくある日本語・文字コードエラー
例
with open("file.txt", encoding="utf-8") as f:
text = f.read()
エラー内容:
UnicodeDecodeError: 'utf-8' codec can't decode byte ...
原因と解決法
- ファイルの文字コードが合っていない場合に発生します
-
解決法:
ファイルのエンコーディングを調べて、encoding
を正しく指定しましょう
エラー解決のコツ
-
エラーメッセージをよく読む
どこで何が起きたか、具体的に書かれています -
ググる力を鍛える
エラーメッセージをコピペして検索すれば、先人の知恵がたくさん出てきます -
小さく実験する
問題の部分だけ切り出して試してみると、原因が特定しやすいです -
公式ドキュメントやQiita記事も活用
「エラー名 + Python」などで検索すると解決策が見つかりやすいです
まとめ
エラーは「失敗」じゃなくて「成長のチャンス」!
最初はたくさんつまずいてOK。この記事を参考に、エラーと仲良くなって、どんどんレベルアップしていきましょう!