
データを読み込み中...
学習の目安: 約10分
プログラムにエラーは付きものです。
もし実行して、エラーが起こってしまっても焦る必要はありません。
エラーの読み方を覚えてしまえば、ほとんどのエラーはgoogleで検索すれば解決します。
エラーへの対処についてまとめました。
下記のようにif文でコーディングしたらエラーが起こってしまいました。

早速エラーを見ていきましょう
左上の赤枠にline 4 と書いてありますね。
4行目でエラーが起こっているということです。
次に下の赤枠でエラーの内容について記載されています。
IndentationError: expected an indented block
インデンテーションエラー:インデントの階層をつけてください
と書いてあります。ですのでインデントをつけてみましょう。

正常に動きました。
今回の場合、インデンテーションエラーでしたが、エラーの内容がわからなければ、エラーをコピペして検索すればほとんどのエラーは情報が載っています。
エラーは英語で記載されますが、そこで折れずにグーグル先生に聞いて見ましょう!解決するはずです。
以下に有名なエラーをまとめておきました。ピンチの際に活用してください。
親しみやすいようにフランクな感じで記載しておきます。
SyntaxError: invalid syntax
構文間違ってるよ・・。
('がなかったりそもそも構文を勘違いしてたりの単純な間違いが多い)
SyntaxError: duplicate argument 'x' in function definition
関数の引数'x'が重複してるよ!確認してみて
SyntaxError: keyword argument repeated
(関数呼び出し時など)引数のキーワードが重複してるよ!
SyntaxError: EOL while scanning string literal
',"で締められてないよ!ちゃんと',”を入力しよう!
例)print('x)
SyntaxError: Missing parentheses in call to 'x'
'x'を呼び出すのには括弧が必要です。括弧を付けてください。
よくあるのはpython2.X系ではステートメントだったprintやexecなどがpython3.x系では関数になっているので、その間違いでエラーになる事があります。
IndentationError: unexpected indent
いらない所にインデント(行頭に空白で字下げすること)がある。
IndentationError: unindent does not match any outer indentation level
インデント(行頭に空白で字下げすること)が一致してないでしょ!
ちゃんと上のインデントと見比べてみてよ。
IndentationError: expected an indented block
インデント(行頭に空白で字下げすること)がない。。。
ちゃんとインデント入れて!!
NameError: name 'X' is not defined
そんな名前で定義されてるものなんてないよ!綴り間違ってるかもよ。
TypeError: 'x' object is not callable
'x'オブジェクトが呼び出せない!!
listやstrなどの名前を変数に使ってしまいその後list(X)という感じでリスト化しようとしたら怒られるありがちなエラー。
TypeError: f() takes exactly 'x' arguments ('y' given)
f関数はx個引数設定されているのにy個指定して呼び出してるぞ!(引数の数が合ってない)
TypeError: unhashable type
可変オブジェクト(listなど)をディクショナリーオブジェクトのKeyに入力した時などに現れるエラー
ImportError: No module named
そんなモジュールないよ!インストールされていない or 存在しない
AttributeError: 'X' object has no attribute 'Y'
'X'オブジェクト(Xにはstrやmoduleなどの型名が入ります)は'Y'という属性なんて持ってないよ!
本当にXはYという属性を持っているか、スペルミスしていないか確認しましょう。
UnboundLocalError: local variable 'X' referenced before assignment
ローカル変数'X'が定義される前に使用されてるよ!
関数内で値の代入が行なわれている場合は代入式がどこに記述されていてもその変数はローカル変数とみなされるので注意が必要です。