LoginSignup
0
0

More than 1 year has passed since last update.

Python エラー(構文エラーと例外)まとめ

Last updated at Posted at 2023-02-06

概要

初学者向けにPythonで出てくるエラーの意味をまとめたいと思います。ただ前提条件として忘れてはいけないのがPythonのエラーには構文エラー例外があるという事です。

構文エラーは、コードを実行する時に、構文をチェックして問題があった場合に発生します

例外は、構文としては正しくても、実行すると問題になるエラーです
例外はtry文で判定して処理を続行させることができます。

構文エラー

SyntaxError

構文エラー及び、書き間違えエラー

解決策:書き間違えを直す。
・エラー例

()が足りないエラー
def hoge():
  print('hoge'
printの前に全角スペースが入っておりエラー
def hoge():
   print('hoge')

IndentationError

インデントが正しくない場合のエラー

解決策:インデントを正しく使用する。
・エラー例

3行目のselfの前のインデントが正しくないのでエラー
def hoge():
  self.name = 'hoge'
   self.age = 0

例外

NameError

定義していない変数名を使用した際のエラー

解決策:名前の修正。
・エラー例

Aが定義されてないのでエラー
a = 1
print(A)
printがprinになっているのでエラー
a = 1
prin(a)

TypeError

型が間違っている場合のエラー

解決策:型を揃える。
・エラー例

式に使われているリテラルの型が合ってないのでエラー
1 + '1'

ValueError

関数の引数に間違った型を渡した際に起きるエラー

解決策:関数の引数に渡す値を正しい値に変更する。
・エラー例

数字では無い文字列の為エラー
int('hoge')

IndexError

リスト等で格納された値をインデックスで取得する際、範囲外の値を指定した場合に起きるエラー

解決策:範囲内の値を指定する。
・エラー例

インデックス番号3は存在しないのでエラー
lists = [0, 1, 2]
lists[3]

KeyError

辞書型で登録した値をキー指定して取得する際に、登録していないキーを指定した場合に起きるエラー

解決策:登録してあるキーを指定する。
・エラー例

ageキーは存在しないのでエラー
lists = {'name': 'hogemaru'}
lists['age']

ModuleNotFoundError

指定したモジュールが存在しない際に、起きるエラー

解決策:存在するモジュールをインポートする。
・エラー例

numpyがnumpになってる為エラー
import nump as np

FileNotFoundError

指定したファイルが見つからないエラー

解決策:正しいファイル名に修正するか、正しい指定フォルダにする。
・エラー例

hoge.txtではなくhog.txtな為エラー
file = open('hog.txt')

AttributeError

オブジェクトに存在しない属性・メソッドを使用した際に起きるエラー

解決策:オブジェクトに存在する属性・メソッドを使用する事、もしくは、オブジェクトを変更する。
・エラー例

文字列にappend()関数で新しい要素を追加しようとしているのでエラー
name = 'hogemaru'
name.append('hogesuke')

ZeroDivisionError

値は0で徐算が出来ないエラー

解決策:0で徐算を行わない様にする。
エラー例

0で徐算を行っている為エラー
print(10 / 0)

英語確認

最後にエラーで使われた英単語を一応お浚いで確認したいと思います。

Syntax:構文
Indentation:インデント
Type:
Value:
Index:リスト等に格納された値が、その中で何番目かを示すもの
Attribute:属性
Division:徐算

参考

Python のよくある基本的なエラーと確認方法まとめ。初学者向けにわかりやすく解説!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0