はじめに
初心者によくあるエラー内容についてまとめました。
今後のエラー対処の際の備忘録として残しておきます。
よくあるエラー一覧
1 Syntax Error
構文のエラー、文法的なミス。
>>> while True print('Hello world')
File "<stdin>", line 1
while True print('Hello world')
^^^^^
SyntaxError: invalid syntax
2 Name Error
定義していない変数名を使用したときに起こる(スペルミス含)。
大文字・小文字の名前表記があっているか、そもそも定義をしているかどうかを確認。
>>> 4 + spam*3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
4 + spam*3
^^^^
NameError: name 'spam' is not defined
3 Attribute Error
Attribute:
属性、オブジェクトに存在する変数やメソッドのことを表す。
オブジェクトがもっていない属性を使用したときに起こる。
オブジェクト名、識別子名は正しいか確認。
対処法として、dir()関数を用いると、一括で属性の確認ができるようになる。
4 Type Error
誤ったデータ型同氏の計算をしたときに起こる。
>>> '2' + 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
'2' + 2
~~~~^~~
TypeError: can only concatenate str (not "int") to str
演算している方を見直し、必要であればtype()関数などで確認し、使用する。
5 Value Error
誤った値をとっているときに起こる。
関数に渡している値が適切かどうかを確認する。
6 Indentation Error
インデント周りで起こるエラー。
全角・半角の確認。字下げ部分の見直しが必要。
7 Index Error
範囲外のインデックス(要素番号)を使用した際に起こる、リストでよく起こる。
要素数に適した値の取り出しをしているか確認。
8 Key Error
辞書型で登録していないキーを指定すると起こる。
辞書型の登録した項目の取り出し方法
辞書型でのアイテム取り出し項目
dict.keys(): 全てのキーを返す。
dict.values(): 全ての値を返す。
dict.items(): 全てのキーと値のペア(タプル形式)を返す。
9 Module Not Found Error
importで指定したモジュールがないときに起こる(モジュール名のスペルミス等)
installをし直し、importをしなおす
10 File Not Found Error
指定ファイルがないときに起こる。
>>> try:
open("database.sqlite")
except OSError:
raise RuntimeError("unable to handle error")
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
open("database.sqlite")
~~~~^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'database.sqlite'
11 Zero Division Error
数値に対する演算の際に、0で割り算等が行われた場合に発生するエラー。
>>> 10 * (1/0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
10 * (1/0)
~^~
ZeroDivisionError: division by zero
おわりに
今回、よく起こるエラーをまとめておきました。
その他、自分が実際に体験したエラーについてもまとめることができました。
・エラー対処の方法として、まずは表示されているエラー文をよく確認する。
・エラー文より該当箇所の確認を行い、必要であれば、関数などを使用し、原因を特定する。
・原因解明のために、python公式ドキュメントにも内容が載っているものがあるので、web上の情報も踏まえつつ、確認をしてみる。
当たり前のことかもしれませんが、エラーが出た際にまずは落ち着いて対処ができるよう上記のフローで確認し、早期解決に努めます。
参考
Python 初心者必読! これだけは知っておきたいよくあるエラー10選 【Python エラー一覧】 https://aiacademy.jp/media/?p=912
python公式ドキュメント https://docs.python.org/ja/3.9/