Python 日本語の扱い

Pythonのスクリプトに日本語を入れる

Pythonで日本語を使うときは注意が必要です。
どの言語もそうだと思いますが、文字コードの扱い方は色々あります。
(UTF-8やShift-jis、euc_jp、ASCIIなど)

Pythonはこちらが何も宣言しないときASCII文字として認識しようとしてしまいます。しかし、ASCIIは128文字のアルファベットや数字、記号しか表現されず、日本語が表現できません。

文字コードに関する資料:
THE Web KANZAKI,”日本語と文字コード”
http://www.kanzaki.com/docs/jcode.html

そこで、日本語を使うときは、日本語が使える文字コードを使って、ファイルにはその文字コードを宣言してPythonに理解させる必要があります。

Pythonで日本語を書くときはUTF-8を使用するのが一般的です。
使いたい文字コードがあれば、そちらを使用しても構いませんが、ファイルに宣言する文字コードとエディタで保存する文字コードを同じものにしてください。
UTF-8で宣言して、エディタではShift-jisでファイル保存していた場合、文字化けしてしまいます。注意してください。

では、ファイルの文字コード宣言をしましょう。
日本語を絶対に使わないファイルの場合は省略しても良いですが、
コメントに日本語を書いておいた方が、後で見返すときも分かり易いので、
慣例として、宣言しておくことをお勧めします。

ファイルの先頭行に、エディタで日本語を保存するときの文字コードを以下のように記述します。

# coding: utf-8

UTF-8以外の文字コードの場合は”utf-8″の部分を書き換えてください。
また、大文字でも小文字でも構いません。

もし、テキストエディタにEmacsを使用している場合は、以下のように記述すると、Emacsでもファイルの文字コードを認識してくれます。

# -*- coding: utf-8 -*-

また、Vimを使用している場合は、以下のようにするとVimが認識してくれます。

# vim:set fileencoding=utf-8

それでは日本語を含むスクリプトファイルを作って実行してみましょう。

hello_jp.py

# coding: utf-8
print "おはよう、世界!"

実行結果

$ python hello_jp.py
おはよう、世界!
           
ページ上部へ戻る