2010-03-28から1日間の記事一覧

classmethodとstaticmethodデコレータの違い

Pythonでstaticなメソッドを定義しようとする場合、staticmethodデコレータかclassmethodデコレータを使うことになります。これらの違いは、classmethodデコレータでは第一引数がクラスそのものになるのに対し、staticmethodでは特にそういった制約がない、…

or演算子を使った、ちょっと便利なショートカット

Pythonのちょっとした小ネタ。 if not a: a = [] これは変数aを評価した時にFalseになる0, False, None, [], {}, ()だった場合、空のリストを代入するもので、ちょこちょこ出てきます。 上記の式は、実は a = a or [] と同値です。見た目にスッキリするだけ…