2011-06-30から1日間の記事一覧

状態を持ったmixinを作りたいときの検証用のmixin

状態を持ったmixinを作りたいときがある。(self.fooに依存しているけれど、self.fooが定義されているかわからない) 困ったので__init__後に、self.fooが定義されているか調べるデコレータを書いてみた。毎回検証処理が走っても無駄なだけなので、成功したら…

クラス名っぽい名前を変数名っぽい名前に変換する。

re.scannerを使った。 こんな変換 FooBar -> foo_bar XYBox -> xy_box import re class ClassNameToVarName(object): scanner = re.Scanner([ (r'^[A-Z]+?(?=[A-Z][^A-Z])', lambda sc, s: s.lower()), (r'^[A-Z]', lambda sc, s: s.lower()), (r'[A-Z]+', l…