スマートなコーディングができるPythonですが、Python2系では文字列は標準でASCIIとして判定してしまいます。
print 'こんにちは'
上記のコードをスクリプトファイルに記述して実行すると下記エラーになります。
Traceback (most recent call last): File "/Users/Tono/Library/Application Support/IntelliJIdea13/python/helpers/pydev/pydevd.py", line 1534, indebugger.run(setup['file'], None, None) File "/Users/Tono/Library/Application Support/IntelliJIdea13/python/helpers/pydev/pydevd.py", line 1145, in run pydev_imports.execfile(file, globals, locals) #execute the script File "/Users/Tono/IdeaProjects/pythonSample/test.py", line 2 SyntaxError: Non-ASCII character '\xe3' in file /Users/Tono/IdeaProjects/pythonSample/test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
これをエラーなしで出力するには以下のようにコーディングを指定しなければなりません。
#coding=utf-8 print 'こんにちは'
これだけです。
なお、Python3系では文字列はすべてUnicodeで扱うため、コーディングの指定は不要です。
print文が廃止され式となったため以下の記述で動作します。
print('こんにちは')
コメント