Pythonを学ぶ(1) 導入と日本語化
梅谷 武
作成:2003-05-06 更新:2005-04-20
Pythonの導入と日本語化の手順を記す。
20030506001; NDC:007.64; keywords:Python;
システム設計のための試作を行なう、短時間でのちょっとした算譜(program)を作る、様々なテキストを統一した手法で処理する、システムへ組み込むための専用言語を作成する、数値計算や離散信号処理のシミュレーションを行なうというような作業すべてを単一言語の枠組みで取り扱うことはできないだろうかと以前から考えていました。
1995年頃にTcl/Tkを使って試行錯誤したこともありましたが、そのときはTcl/Tkでこういうことを実現するのは難しいだろうという結論に至りました。
2003年にPythonについて調べる機会がありましたが、そのときひょっとしてこれは探し求めていたものにかなり近いのではないかと気がつきました。数ある作譜言語(programming language)の中でなぜPythonなのかということを明確に説明することは難しいのですが、これはいいと感じた点を思いつくままにあげてみます。
- 括弧が無いので読みやすい。
- オブジェクト指向でも書けるが強制されない。
- フリーでソースが公開されており、ライセンスが柔軟である。
- UNICODEに対応していて、さらに日本語環境で使えるようにすることが容易である。
- マルチプラットフォーム(Linux, Winodws, Mac)で動作する。
- 数多くの強力なモジュールがすでに用意されている。
- 新しいデータ型を容易に追加できる。
このような経緯でPythonを学び始めたのですが、実際に使ってみると思っていた以上によくできているではありませんか。そこで一度はあきらめかけていた作譜言語統一の試みにもう一度挑戦してみようと思い立ったわけです。「Pythonを学ぶ」はPythonを使っていろいろなことを実際にやってみて、体験的な学習を行いながらその可能性を探っていくというものです。今のところ次のような主題を取り扱ってみようと考えています。
- 導入と日本語化
- 初等整数論の計算
- 複素数の計算
- 複素関数の可視化
- 行列の計算
- 非線形方程式の解法
- 3Dグラフィックス
- テキスト処理
使用する環境
次のような環境で作業することを前提として話を進めます。
- Windows XP
- VC++ 6.0 SP5
- MinGW
- GNU tools
Step 1:日本語環境用インストーラの実行
日本語化されたPythonを導入するには、
PyJUG(日本Pythonユーザ会)からPython 日本語環境用インストーラ(Win32):python23jp-20030906.exeをダウンロードして実行します。これはPython2.3に次のような修正を加えたものです。
- ShiftJIS文字列対応
- 日本語ファイル名対応
- pyexpat日本語対応
- 日本語用Unicode変換モジュールJapaneseCodecs添付
- JIS系文字コード変換モジュールpykf添付
通常はこれで十分なのですが、さらに識別子(Identifier)としてSJIS文字を許容するように変更しておきます。これはプログラムの可読性を高めるために行なうものですが、人により好みが分かれるところですので必ずしもこの変更を行なう必要はありません。
Step 2:ソースのダウンロード
PyJUG(日本Pythonユーザ会)からPython-2.3.tgzをダウンロードし、適当なディレクトリへ解凍します。
C:\usr\local>tar xvfz Python-2.3.tgz
Step 3:日本語化パッチ
日本語環境用インストーラによりコピーされたディレクトリの中に日本語化パッチが入っていますのでそれをあてます。
C:\usr\local>patch < Python23jp\jp\sjis.patch.2.3
この状態でさらに
このパッチをあてます。
C:\usr\local>patch < Python-2.3-sjis.patch
Step 4:python23.dllの作成
VC++用のプロジェクトファイル:Python-2.3\PCbuild\pcbuild.dswを使ってpythoncoreをメイクします。このときプリプロセッサでSJISを定義することに注意してください。できあがったpython23.dllはC:WINDOWS\system32にコピーされているものと置き換えます。VC++をお持ちでない方のためにこのdllを
ここに置いておきます。
Step 5: 動作確認
例えば次のようにします。
C:\usr\local\Python23jp>python
Python 2.3 (#46, Apr 21 2004, 10:26:20) [MSC v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 日本語リスト = ['日本語', '表示']
>>> print 日本語リスト
['日本語', '表示']
>>> print 日本語リスト[0]
日本語
>>> print 日本語リスト[1]
表示
>>>
今後、いろいろな数値計算を行うために
numarrayパッケージを導入しておきます。我々の環境ではnumarray-0.9.win32-py2.3.exeをダウンロードして実行するだけです。ついでにチュートリアル:numarray-0.9.pdfもダウンロードしておきましょう。
Python