2007年8月18日土曜日

python講座(1)二次元配列

pythonは蛇の名前がついたプログラム言語です。でも本当の由来はイギリスのコメディアンの名前らしい(モンティ・パイソン)。なので、大抵は蛇のアイコンなのだが、僕は蛇が嫌いなので、アイコンを各自変更する方が良いと思います。というか、python配布者さん、蛇じゃなくて、pyなら、「アップルパイ」とかのアイコンにしてくれ!!

初心者でもとっつき易い、敷居の低い言語として知られています。しかし、用途は多彩で、ubuntuというlinuxの開発にpythonのプログラムがよく使われているとか(本当かどうかは知らない)。決行いろんな所で使われているので、知っておいて損はなさそうだと思いました。
http://ja.wikipedia.org/wiki/Python

pythonの初歩的なマニュアル(おすすめはチュートリアルだがwindows向きではない)
http://www.python.jp/doc/2.3.5/index.html

pythonの利用目的はかなり多い。単なる文字列の定型処理だったり、GUIだったり、penGLつかえたり、blenderで使えたり、OpenOfficeで使えたり、行列計算や量子力学計算や、データのプロット等など、かなり多くをこなす。

データプロッター用言語として使うケース
http://matplotlib.sourceforge.net/

GUIアプリケーション作成をwxwidgetsを用いて行うケース(かなり幅が広い)
http://www.harukaze.net/~haruka/wxpython/index.html

ゲームなどの開発用途で使うケース
http://www.halb-katze.jp/pygt/index.html

インストール::
linuxではほぼ初期の段階でインストールされています。(fedora7とvine4.0ではそう。Macもそうらしい)Windowsではインストールする必要があります。
http://www.python.jp/Zope/download/pythoncore
詳しいインストール方法はgoogleで 「 python インストール windows」などと検索すると出てきたりします。上のリンクでpython-2.5.msiをダウンロードして、nextとfinishボタンをおすだけでよかったりします。

windows上でpythonをインストールしたり動かすのに詳しいサイトは沖データのページです。
http://www.okisoft.co.jp/esc/python/iron-python-intro.html
彼らのページではpythonを起動して、インタラクティブなプログラムや処理の仕方を行っているようです。プログラムをprog1.pyと保存して、コマンドプロンプトでpython prog1.pyと実行しても良いし、prog1.pywと名前を変更してダブルクリックで実行という形でもよい(この場合処理は行われるが、printで出力させたものはどこかに言ってしまいます。)


トータルでおすすめな入門サイト
http://ar.aichi-u.ac.jp/python/
このページは非常にお世話になったんですよ。pythonの使い方が非常に丁寧に書いてあります!!

まぁ、以上のようなpython関連の知識があるとして、pythonのプログラムメモをば書いていきます。

まずpythonで二次元配列を扱う例を。

-------------------script001.py------------------------

#-*- coding: shift_jis -*-

#リストを二次元配列として使う方法
a=[]
#リストの初期化
#aというリストが初期化された。このリストには
#要素が入っていないので代入する必要がある。
#リストの要素はリストでも構わない!
b=[]
b.append(1)
#要素を追加するときはappendという物を使う。
b.append(2)
b.append(3)
#以上の操作で、bというリストを作り、その要素を
#代入して、b=[1,2,3]というリストを作った。
a.append(b)
#これで、aというリストにbというリストをついかす
#る事ができる。
print a[0][0],a[0][1],a[0][2]
#これで、さっきのbの要素にアクセスできて、さらに
#その値を変更する事もできる。


-------------------script001.py------------------------

これを実行すると、
1 2 3
と表示されるはずです。

この様にして二次元配列を作ることが出来きますが、これは一次元のリストの要素がさらに一次元のリストなのです。

0 件のコメント: