構文エラー(SyntaxError)¶
コードの書き方、構文が間違っているというエラーです。
# "Hello"と表示される
print(Hello')
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 を参照してください。