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

[python]デコレータでfunctools.wrap()を使う

前々回に書いた記事の続き。 functools.wrap()とは? Pythonのマニュアルには これはラッパ関数を定義するときに partial(update_wrapper, wrapped=wrapped, assigned=assigned, updated=updated) を関数デコレータとして呼び出す便宜関数です と書かれてい…

Pythonのis演算子と==演算子の違い

この記事を書いた動機 Pythonはなんと言っても英語っぽく書けるのが最大の利点なんだから全部isでいいんじゃね?と思って本当それで正しいのか確認しようと思った事が始まり。 実際の仕様 「初めてのPython第3版」のP200によると オブジェクトが「同等」であ…

インスタンスメソッド用デコレータを書いてみた

そう言えば関数のデコレータってそこそこ書いたことあるけどインスタンスメソッド用のデコレータって作ったことないなと思い挑戦。 通常の関数のデコレータとは微妙に違うようなのでその辺も踏まえて比較もしてみた(最後はどっちでも使えるようにしたけど。…

Pythonのリスト内包表記でRubyのuniqメソッドと同じ事をする

動機 設定値の重複を削るためににスクリプトを組んだのだけど、Pythonだとループで回して新しい配列に突っ込んでとかやらないといけないっぽいので面倒臭いエレガントじゃない。一応Pythonで単純に書くと以下のようなコードになると思います。 a = [1,3,4,2,…