Pythonでプログラミングの練習してたら、真っ赤なエラーコードが出てうまくいかない・・・!そんなことないでしょうか?
Pythonのエラーコードはさまざまな種類がありますが、そのエラーコードを読み解ければ、プログラムの完成にグッと近づけます。
ここではPythonのエラーについてよくあるものを紹介し、解説してますので、エラーコードについて学びたい方に役に立つはずです。
Pythonのエラーコード一覧
代表的なものをいくつか紹介します。
ネームエラー
ネームエラーはPythonに慣れたプログラマーでもよくあるエラーです。入力ミスが主な原因ですが、エラーは下記のように表示されます。
Name Error : name "自分で入力した文字" is not defined.
英語で出てくるとわかりにくいですが、日本語訳は「名前(自分で入力した文字)は定義されてません」という意味です。ほとんどが入力ミスで、多いのが大文字と小文字を打ち間違えるケースです。大文字と小文字の入力間違えには気をつけましょう。
シンタックスエラー
シンタックスエラーはいわゆる「文法間違い」です。Python側で指定されているプログラムの書き方から外れ、入力を誤った場合に起こります。下記のようなエラーメッセージが表示されます。
SyntaxError : EOL while scanning string literal
直訳すると、「文字列リテラルの走査中に行末を発見した」になります。これは文字列を読み込んでいったら行末までたどり着いてしまった、というような意味です。
間違え例:print("バナナケーキ)
→ printの引数であるバナナケーキの閉じクオートが抜けています。正しくは、print("バナナケーキ")というように開きクオートと閉じクオートをしっかりと書かないといけません。
上記のようにPythonの文法に間違いがないかチェックしてみましょう!
タイプエラー
タイプエラーは、プログラム中の「データの型」が間違っているときに起こるエラーです。たとえばエラーコードは下記のように表示されます。
TypeError : unsupported operand type(s)
for +: "int" and "str"
日本語訳すると、型エラーです。+演算子は被演算子の形式をサポートしてません。int型とstr型
エラーが発生するプログラムの例
print(100+"個")
例えば上記は100個と表示したいのですが、数値と文字列は足すことができません。1+1は計算できますが1+りんごは計算できません。
インデントが原因のエラー
インデントが原因のエラーですが、関数やif文などでよく見られるエラーです。関数やif文では、実行する処理の行頭を字下げして実行する処理がif 文や関数の処理であることを示します。この字下げを「インデント」と呼ぶのです。Pythonではインデントは「半角スペース4つ」で表します。
if 条件:
○○○○ 条件に当てはまったときの処理
↑【半角スペース4つ】の後、処理を書きます。もしこの半角スペースを入れ忘れてしまったり、逆に入れすぎたりしてしまうと、下記のようなエラーが起こります。
IndentationError: expected an indented block
日本語訳:インデントのエラーです。インデントがあるべき位置でインデントがないようですが。。
IndentationError: unexpected indent
日本語訳:インデントのエラーです。予期しないインデントが入っています。
上記のようにインデントがあったり、なかったりすることによって起こるエラーがインデントエラーです。