メモ
また、ちょっと勉強したので忘却禄
PythonでのUTF-8使用
pythonでファイルがUTF8であることを示すためには
coding: utf-8 または coding=utf-8
と2行目あたりに書いておく。
また、emacsにも対応するためには -*- coding: utf-8 -*- と書いておくとよい。
__main__の利用
.pyファイル内の__main_は実行したスクリプト自身を指す(?)ので、
if __name__ == '__main__':
と書いてやれば、直接実行したとき以外には実行されない。テストコードを埋め込むときに便利
低レベルAPIを使ったファイル操作
Pythonでは__buildin__のopen()関数でファイルアクセスが容易にできるが、
osモジュールを組み込むとより詳細なファイルアクセスができる。
>>> import os >>> f = os.open("/tmp/osFile.py", os.O_CREAT | os.O_RDWR| os.O_EXCL) >>> os.write(f, "Hello world\n") 12 >>> os.close(f)
ただし、通常のファイルアクセスレベルであれば組み込みのopen()関数で問題ない。
ブロックデバイスやOS固有の情報にアクセスする場合に利用する。
See Also Pythonライブラリ -- リファレンスファイル記述子の操作
Pythonのデータの型
基本的にデータの値として使うのは以下の3つぐらい。setデータ型としてあるけど、
使い方がちょと違う。
リスト | 値の変更可能 | a[0,1,2,4,6] | pushやpopがあるのでスタックとして利用できる |
---|---|---|---|
タプル | 値の変更不可 | a(0,1,2,4,6) | タプルの中にタプルを入れ子ができる |
辞書 | 値の変更可能 | a = {'1st':1,'2nd':2,'3rd':3,'4th':6} | リストはキーに使えない |
辞書の基本的な使い方
>>> a = {'1st':1,'2nd':2,'3rd':3,'4th':6} # 辞書の作成 >>> print a {'4th': 6, '2nd': 2, '3rd': 3, '1st': 1} >>> a['5th'] = 10 # 5thというキーで10を入れる >>> a {'4th': 6, '5th': 10, '2nd': 2, '3rd': 3, '1st': 1} >>> a['3rd'] # 3rdのキーの値を呼び出す 3 >>> del a['4th'] # 4thのキーの値を消す >>> a['6th']= 12 >>> a {'6th': 12, '5th': 10, '2nd': 2, '3rd': 3, '1st': 1} >>> a.keys() # 辞書の中のキーを表示する ['6th', '5th', '2nd', '3rd', '1st'] >>> a.has_key('5th') # 辞書が5thキーを持っているかどうか True
ループテクニック
iteritems | 辞書のキーと値を動じ取り出し | a.iteritems |
---|---|---|
enumrate | 要素のインデックスと要素同時取り出し | enumerate(a) |
zip | 2組以上のシーケンスをひとまとめにする | zip(a,b) |
reversed | シーケンスを逆順に呼び出す | reversed(xrange(1,10,2) |
See Also ループテクニック