2011-07-01から1ヶ月間の記事一覧

Pythonクックブック(4章)

条件に応じて関数呼び出し Pythonでは、swith~caseは使えないのでif~elif~elseで条件分岐を作って、関数呼び出しが自分で考えつく方法ディクショナリとget()を使うと、条件分岐を作らなくても実現可能。とっても見やすい。 if~elif~ 相当をやっているのが、g…

Pythonクックブック(4章)

ディクショナリの部分集合作成 前回dict()とzip()を使って、ディクショナリを作ったが、ちゃんと理解出来てなかったので復習。 これがよくわかってなかったので今日やった部分集合作成がチンプンカンプンだった。まず、マップ型のヘルプを見ると、以下のよう…

Pythonクックブック(4章)

ディクショナリの操作(作成、検索、追加) ディクショナリの作成は、dict()を使うことで、keyとvalueのシーケンスから行える。 おかげで、{'key':'value'}の構文を使用しなくても済む。また、存在しないキーに対する検索でもKeyError例外を出さないようにする…

Pythonクックブック(4章)

リストで行列を表現 リストの要素を行列の列に見立てると以下のように足す、引く、掛けるの演算が出来る。 割るは、逆行列のかけ算と定義すれば良いが、逆行列の算出方法自体を忘れてしまったので今回はパス。 [kobakoba0723@fedora13-intel64 ~]$ cat calc_…

Pythonクックブック(4章)

リストのリスト リストのかけ算をする時には気をつけなければいけない。 リストのかけ算は、リストの要素を乗数分新しく作るのではなく、同じ要素に対する参照を乗数分作るだけ。 # ベタにリストのリストを作る >>> multi1 = [[0, 0, 0], [0, 0, 0], [0, 0, …

Pythonクックブック(4章)

オブジェクトのコピー Pythonでは明示的にしないと、オブジェクトのコピーはされない。 immutableオブジェクトの場合は気にしなくても良いけど、mutableオブジェクトの場合は気にしないといけない。 代入文は参照先の共有ってことに注意。ビルドインクラスの…

Pythonクックブック(3章)

dateutilモジュールの続き rrule 繰り返し処理を簡単に出来る。 >>> from dateutil.rrule import * >>> from datetime import * >>> import calendar >>> today=datetime.today() >>> firstday=today.replace(day=1) >>> lastday = today.replace(day=calend…

Pythonクックブック(3章)

dateutilモジュール。 インストール サードパーティのモジュールなのでまずはインストールから。 サイトからtarballを持ってくるやり方もあるみたいだけど、easy_installでインストール可能なので、 [kobakoba0723@fedora13-intel64 ~]$ easy_install python…