2009/02/27(金)pythonのお勉強 (unix timestampを可読表現に)

この期に及んでpythonを初めて触ってみる。

チュートリアルとかリファレンスとか読みながらぼちぼち書いているのだけど、なかなかピンと来ない部分がある。
たとえば、unix timestampを可読な文字列に変更しようとする場合。
>>> import datetime
>>> datetime.datetime.fromtimestamp(1235051482).ctime()
'Thu Feb 19 22:51:22 2009'
動作はしているけど、一見して何が何だかな表記ではある。

どうやら
・datetimeネームスペースになるdatetime型(クラス)のコンストラクタfromtimestamp()を呼び出す
→datetime型のオブジェクトが生成される
・datetime型のメソッドctime()が呼び出される
→string型の返値が得られる
ということらしい。
>>> hoge = datetime.datetime.fromtimestamp(1234567890)
>>> hoge
datetime.datetime(2009, 2, 14, 8, 31, 30)
>>> hoge.ctime()
'Sat Feb 14 08:31:30 2009'
このように書くとhogeにdatetime型のオブジェクトが格納されていると言うことが確認できる。
>>> fuga = datetime.datetime
>>> fuga.fromtimestamp(1234567890)
datetime.datetime(2009, 2, 14, 8, 31, 30)
すごく紛らわしかったのが、これ。
fugaには何が代入されてるのかというと、datetimeネームスペースにあるdatetime型の参照を代入していると言うことらしい...
>>> from datetime import *
>>> datetime.fromtimestamp(1234567890)
datetime.datetime(2009, 2, 14, 8, 31, 30)
とかやって名前空間をインポートしてしまえ、ということなんだろう。

photo
Pythonチュートリアル
鴨澤 眞夫
オライリー・ジャパン 2007-09-22

by G-Tools , 2009/02/27