質問: "test@gmail.com" """ Pythonに定数という概念は存在しない(=EMAILも再代入可能) 変数を大文字にすることにより定数にみなす """ ``` エラーはこちらです。 MikAns-MacBook-Air:dotinstall MikAn$ python dotinstall_3.py File "dotinstall_3.py", line 1 SyntaxError: Non-ASCII character '\xe5' in file dotinstall_3.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details おそらく、ソース内に日本語が入っているからこのようなエラーが起こっていると思います。 自分なりに調べたところ、Python3.X以降はUTF-8を最初に指定しなくても実行できるとでてきたのですが、うまく実行できません。 UTF-8を指定したところ実行はできたのですが、もやもやしたので質問しました。 Atomを用いてソースを書いているのですが、Atom runnnerを用いると実行できます。Atom runnnerもPython3で実行させています。 よろしくお願いします。
回答: > > 自分なりに調べたところ、Python3.X以降はUTF-8を最初に指定しなくても実行できるとでてきたのですが、うまく実行できません。 > > > 正しく動作するのは、デフォルトエンコーディングが「UTF-8」の環境に限ります。(以下で確認できます) ``` import sys print(sys.getdefaultencoding()) ``` 環境のデフォルトエンコーディングはsitecustomize.pyなどにより変更できます。 よって、ソースコードにはエンコーディング指定したほうがよいです。