ERROR GUIDE
日本語表示対応エラーの一覧
PyHiroba(ぱいひろば)は、Pythonの実行中に発生したエラーを自動で読み取り、
初学者にもわかりやすい日本語のヒントで表示します。
文法・字下げのエラー
SyntaxError / IndentationError / TabError
| エラー種別 | よくある原因 | 日本語での解説(要約) |
| SyntaxError | if x > 0 のようにコロンを忘れた | コロン「:」が必要です。if・for・def などの行末には必ず「:」を付けてください。 |
| SyntaxError | 全角の記号やスペースが混入した | 使えない文字が含まれています。括弧・コロン・イコールなどの記号は半角で入力してください。 |
| SyntaxError | クォートを閉じ忘れた | 文字列が閉じられていません。「'」や「"」の対応を確認してください。 |
| SyntaxError | 括弧 () [] {} の対応ミス | 括弧が閉じられていません。開いた括弧と閉じた括弧の数を確認してください。 |
| SyntaxError | f"値は{}" のように {} が空 | f文字列の { } の中が空です。変数名や式を書いてください。 |
| SyntaxError | if x = 5: と書いた | 代入できない場所に「=」があります。比較は「==」を使ってください。 |
| SyntaxError | return/break を関数やループの外で使った | return は関数の中、break・continue は繰り返しの中でのみ使えます。 |
| SyntaxError | print "x" と古い書き方をした | Python3 では print は ( ) で囲みます。print("x") としてください。 |
| SyntaxError | [1 2 3] のようにカンマを忘れた | カンマ「,」を書き忘れています。要素どうしは , で区切ります。 |
| SyntaxError | 括弧の種類 () [] {} が食い違う | 開いた括弧と閉じた括弧の種類が合っていません。種類をそろえてください。 |
| IndentationError | 字下げ幅が前の行とそろっていない | 字下げの位置が合っていません。同じブロックは同じスペース数(4つ)にそろえてください。 |
| IndentationError | 字下げが必要な行を字下げしていない | インデントが必要です。if・for・def の次の行はスペース4つで字下げしてください。 |
| IndentationError | 余分なスペースが入っている | 余分なインデントがあります。行の先頭の空白を確認してください。 |
| TabError | タブとスペースが混在している | タブとスペースが混在しています。インデントはスペース4つで統一してください。 |
名前・変数のエラー
NameError / UnboundLocalError
| エラー種別 | よくある原因 | 日本語での解説(要約) |
| NameError | 変数・関数のスペルミス | その名前が定義されていません。スペルミスや、定義したセルを先に実行したか確認してください。 |
| NameError | Print() のように大文字で書いた | print は全部小文字です、など、よくある書き間違いも個別にヒント表示します。 |
| NameError | true / null と書いた | Pythonでは True・False・None(先頭大文字)を使います。 |
| UnboundLocalError | 関数内で定義前の変数を使った | 関数の中で、値を代入する前にその変数を使っています。先に代入するか global 宣言してください。 |
データ型のエラー
TypeError
| エラー種別 | よくある原因 | 日本語での解説(要約) |
| TypeError | 5 + "3" のように数値と文字列を計算 | 型が違うため計算できません。int()・str() で変換してください。 |
| TypeError | "点数" + 85 と結合した | 文字列と数値は「+」でつなげません。str(85) や f文字列を使ってください。 |
| TypeError | 関数に渡す引数の数が違う | 引数の数が合いません。関数の定義と呼び出し方を確認してください。 |
| TypeError | for i in 5: と書いた | その型は繰り返せません。range(5) などを使ってください。 |
| TypeError | 変数名が組み込み関数と衝突 | 関数ではないものを () で呼び出しています。list などの変数名を避けましょう。 |
| TypeError | None を繰り返し処理に使った | 関数が値を return しているか確認してください。 |
| TypeError | "5" > 3 と文字列と数値を比較 | 型が違うものは大小を比べられません。int() でそろえてください。 |
| TypeError | range(3.0) と小数を渡した | 整数が必要な場所に小数を渡しています。range(3) としてください。 |
| TypeError | "-".join([1,2,3]) で数値を結合 | join でつなげられるのは文字列だけです。str() で変換してください。 |
| TypeError | s["a"] と文字列に文字で添字 | 文字列・リストの [ ] には整数の番号を使います。 |
値のエラー
ValueError
| エラー種別 | よくある原因 | 日本語での解説(要約) |
| ValueError | int("abc") と変換した | 文字列を整数に変換できません。数字だけの文字列か確認してください。 |
| ValueError | a, b = [1, 2, 3] と展開した | 左辺の変数の数と右辺の要素の数を合わせてください。 |
| ValueError | math.sqrt(-1) を計算した | 数学的に定義できない計算です(負の数の平方根など)。入力値を確認してください。 |
| ValueError | グラフのx・yのデータ数が違う | x軸とy軸のデータ数が一致しません。同じ長さのデータを使ってください。 |
| ValueError | NumPy配列の形が合わない | 配列の形(shape)が合いません。.shape で確認してください。 |
| ValueError | max([]) と空リストを渡した | 空のリストには max()・min() は使えません。中身があるか len() で確認してください。 |
リスト・辞書の参照エラー
IndexError / KeyError
| エラー種別 | よくある原因 | 日本語での解説(要約) |
| IndexError | リストの範囲外の番号を指定 | 範囲外にアクセスしています。最初は [0]、インデックスは 0〜len()-1 の範囲です。 |
| IndexError | NumPy配列の範囲外アクセス | 配列のサイズを超えています。.shape で形を確認してください。 |
| KeyError | 辞書に存在しないキーを指定 | そのキーは辞書にありません。スペルを確認するか .get() を使ってください。 |
計算・再帰のエラー
ZeroDivisionError / RecursionError / OverflowError
| エラー種別 | よくある原因 | 日本語での解説(要約) |
| ZeroDivisionError | 0で割り算した | 0(ゼロ)で割っています。分母が0でないか確認してください。 |
| RecursionError | 再帰関数に終了条件がない | 再帰が無限ループになっています。必ず終了条件を書いてください。 |
| OverflowError | 数値が大きくなりすぎた | 数値が大きすぎて処理できません。計算の途中を確認してください。 |
ライブラリ・属性のエラー
ModuleNotFoundError / ImportError / AttributeError
| エラー種別 | よくある原因 | 日本語での解説(要約) |
| ModuleNotFoundError | ライブラリ名のスペルミス | そのライブラリが見つかりません。使える主なライブラリ名を一緒に表示します。 |
| ImportError | モジュール内の名前を間違えた | そのモジュールに指定した名前はありません。スペルを確認してください。 |
| AttributeError | メソッド・属性のスペルミス | その属性・メソッドはありません。スペルや、データの型を確認してください。 |
| AttributeError | x = lst.sort() の戻り値を使った | None に属性を使おうとしています。メソッドの戻り値が None でないか確認してください。 |
ファイル・その他のエラー
FileNotFoundError / AssertionError / RuntimeError ほか
| エラー種別 | よくある原因 | 日本語での解説(要約) |
| FileNotFoundError | ファイルを読み込もうとした | ファイルが見つかりません。ブラウザ上のPythonではローカルファイルは扱えません。 |
| AssertionError | assert の条件を満たさない | 検証(assert)が失敗しました。条件式を確認してください。 |
| RuntimeError | ループ中に辞書を変更した | 実行時エラーです。ループ中のデータ変更などを見直してください。 |
| MemoryError | 巨大なデータを作ろうとした | メモリが不足しています。より小さなデータで試してください。 |
| StopIteration | next() の使いすぎ | イテレータの要素がなくなりました。for文を使うとより安全です。 |