SyntaxError: invalid character in identifierのエラー解決方法

Pythonのコードを実行していると、いろいろなエラーに遭遇します。特に初心者の方は、エラーの対処方法がわからず困ることも多いでしょう。プログラミング言語を扱い慣れた人でも、まったくエラーを出さずにコードを書けるわけではありません。

間違いやすいエラーの原因とその対策を学び、なるべく少ないエラーでコードを書けるよう目指しましょう。

Pythonの構文エラー「SyntaxError: invalid character in identifier」

SyntaxErrorの意味は、構文エラーです。Pythonの決まりに沿っていないコードが書かれていることを表しています。また、「invalid character in identifier」には、どのような構文エラーかを表しています。

「invalid(無効な)character(文字)in identifier(識別子の中)」という意味があり、つまり識別子の中に無効な文字が含まれていることを表しています。識別子は難しい言葉ですが、プログラムコードの中に無効な文字が含まれていると考えてよいでしょう。

このエラーは、全角文字がコードの中に入っていることが原因です。Pythonは、「’」もしくは「”」で囲まれた文字列以外は全角の入力ができません。コードの途中に全角文字が誤って入っている場合は、「invalid character in identifie」としてエラーが生じます。

よくある原因①:全角と半角の間違い

4 * 6          
  ^ 
SyntaxError: invalid character in identifier

このようなエラーによくある原因として、記号や数字が全角で入力されているケースが挙げられます。

上記の例は、4×6の単純な掛け算を行うコードです。しかし、掛け算を表す「*」が全角の「*」で入力されているため、エラーが起きています。このように、コロン「:」などの記号や、数字の全角・半角の違いは見た目では分かりづらいため注意が必要です。

また、文字列を「’」や「”」で囲む際に閉じ忘れると、文字列内の全角文字をコードと認識し、このエラーが生じることもあるため注意しましょう。

よくある原因②:全角スペース

もう一つよくある原因が、全角スペースの入力によるエラーです。全角のスペースは見た目では判別しづらいため、入力中に気が付かないことも少なくありません。

インデントや関数の間など、コードの中にはたくさんのスペースがあります。それらを目視で確認すること難しいため、エラーになる前に対策を行うことが重要です。

対策①:全角スペースを入力できないようにする

全角スペースによるエラーを回避するために、あらかじめ入力できないようにする方法があります。ATOK・Microsoft IME・Googleの日本語入力には、スペース入力を半角のみにする機能が用意されています。設定方法は下記のとおりです。

▼スペース入力を半角のみにする設定方法

ATOK環境設定 → 入力・変換 → 入力補助
Microsoft IME設定 → 全般 → スペース
Google日本語入力環境設定 → 一般 → スペースの入力

しかし、普段からスペースが半角のみになってしまうと不便な場合もあります。かといって、コードを書くときにその都度設定を変えるのにも手間がかかるでしょう。そのような場合は、次にご紹介する「対策②」を参考にしてください。

対策②:Visual Studio Codeを使う

Visual Studio Codeは、Microsoft社が提供する無償のエディタです。豊富な拡張機能などを備えており、エンジニアに人気のエディタのひとつです。開発環境に必要な機能が揃っているため、インストールをするだけで利用できるようになります。

また、Visual Studio Codeには、自分好みにカスタマイズできる拡張機能も豊富に用意されています。ここでご紹介する「全角スペースの可視化」も拡張機能のひとつです。

使い慣れたエディタがある場合は無理に変える必要はありませんが、どのような機能があるか確認しておくと今後のプログラミングに役立ちます。

半角スペースを「・」で表示する方法

Visual Studio Codeで、半角スペースを「・」で表示する方法をご紹介します。

▼半角スペースを「・」で表示する手順

  1. Visual Studio Codeのメニューから、「基本設定」→「設定」を開く
  2. 「設定」の中にある「テキストエディター」から「ファイル」を開く
  3. ファイルの中にある「settings.jsonで編集」をクリックする
  4. 「settings.json」ファイルが開くため、そこに「”editor.renderWhitespace”: “all”,」と追記する

上記の手順を行うことで、半角スペースの部分に「・」が表示されるようになるため、全角スペースと区別しやすくなります。

全角スペースを四角く表示する方法

「zenkaku」は、全角スペースを四角いグレーのマス目として表示する拡張機能です。マーケットプレイスから「zenkaku」をインストールするか、拡張機能の検索画面に「zenkaku」と入力してインストールしましょう。

インストール後は、以下の手順で有効化する必要があります。

▼zenkakuを有効化する手順

①「F1」キーを押してコマンドパレットを開く

②検索欄に「enable zenkaku」と入力し、ENTERをクリック

 無効化する場合は、「disable zenkaku」と入力してください

有効化enable zenkaku
無効化disable zenkaku

また、コマンドパレットを開く方法は「F1」のほかにも、下記の方法があります。

mac「Command」+「Shift」+「P」
Windows「Ctrl」+「Shift」+「P」

「zenkaku」を常に有効化する方法

全角スペースを分かりやすく表示してくれる「zenkaku」ですが、少し問題があります。OSによっては、Visual Studio Codeを閉じるたびに拡張機能が無効化されることがあります。ここからは、Visual Studio Codeが無効化されないために、常に有効化する方法を紹介します。

zenkakuを常に有効化するには「extension.js」ファイルの中における表記を変える必要があります。「extension.js」を開いたあと、「var enabled = false;」と記載されている場所を探してください。これを「var enabled = true;」に変更すれば、常に「zenkaku」を有効化できるようになります。

▼zenkakuを常に有効化するための表記変更

変更前変更後
var enabled = false;var enabled = true;

なお、「extension.js」ファイルは、「.vscode」フォルダの下層にあります。OSごとのextension.jsファイルの場所は、以下のとおりです。

▼OS別のextension.jsファイルの場所

mac/Users/ユーザー名/.vscode/extensions/mosapride.zenkaku-0.0.3/extension.js
WindowsC:\Users\ユーザー名\.vscode\extensions\mosapride.zenkaku-0.0.3\extension.js

全角によるエラーをなくそう

全角によるエラーは場所を見つけにくく、対処に時間がかかるかもしれません。正しいコードを書いているにもかかわらず、全角エラーでつまずいてしまい、無駄な時間を要してしまうこともあるでしょう。

今回ご紹介したエディタや拡張機能を使えば、全角文字やスペースを可視化しやすくなり、全角エラーを排除できるようになります。コード入力の効率を高めるためにも、使用を検討してはいかがでしょうか。