構文エラー(SyntaxError)

コードの書き方、構文が間違っているというエラーです。

# "Hello"と表示される
print(Hello')

SyntaxError

4行目にSyntaxErrorと表示されています。SyntaxErrorとは 構文エラー書き方が間違っているということです。 プログラムはコンピューターが理解できる決まりを守って正しく書く必要があります。どんなベテランのプログラマーでも間違いは起こします。 Pythonには間違えた場合に、悪そうな箇所を教えてくれる仕組みがあります。

プログラムを実行し正しく動く状態でないと、実行結果ではなく、エラーが表示されます。

File "/sample/Exceptions/hello.py", line 12の記述はhello.pyというファイルの12行目のprint(Hello, World')あたりが悪そう。と教えています。また、SyntaxErrorの後ろに考えられる原因EOL while scanning string literalが記述してあります。 エラーの意味がわからない場合は翻訳サイトなどで翻訳しましょう。

print()のカッコの中の書き方が悪いっぽい ということは感じることができたでしょうか。 よく見るとHelloの前のシングルクォートが抜けていますね。

書き間違えるのは当たり前です。エラーメッセージが表示されたら、エラーメッセージを読みます。間違った箇所を見つけ、正しい記述に修正します。 慣れてくると、このエラー文字だからこういう間違いをしたな。と瞬時に判断できます。 どんなエラーが出ても落ちついて、まず、line 12の部分を参照し、何行目辺りにエラーの原因があるか確認しましょう。

全角スペース

全角スペースが文字列以外の箇所に含まれている場合も SyntaxError が出ます。全角スペースは文字列として以外は利用できませんが、エディターの設定によっては書いてあることがわかりにくいので、注意が必要です。

実行結果:

  File "/sample/Exceptions/hello.py", line 3
    print('Hello, World!!' )
                          ^
SyntaxError: invalid character in identifier

エディターで全角スペースが文字列以外の箇所に入力不可と設定し、対処できます。プログラミングを行う環境にはプログラマーを助けるさまざまな機能があり、身に付けると効率が良くなります。自分が使っている環境にも気を配っていきましょう。

詳しくは SyntaxError を参照してください。