Pythonの "__metaclass__" を使ってみる。
http://www.python.jp/doc/release/ref/metaclasses.html
In [1]: def meta_foo(name, bases, dict): ...: dict['foo'] = lambda self:'meta_foo' ...: return type(name + '_foo', bases, dict) ...: In [2]: class Hoge(object): ...: __metaclass__ = meta_foo ...: def foo(self): ...: return 'hoge_foo' ...: def bar(self): ...: return 'hoge_bar' ...: ...: In [3]: h = Hoge() In [4]: h.foo() Out[4]: 'meta_foo' In [5]: h.bar() Out[5]: 'hoge_bar' In [6]: def meta_bar(name, bases, dict): ...: dict['bar'] = lambda self:'meta_bar' ...: return meta_foo(name + '_bar', bases, dict) ...: In [7]: class Fuga(object): ...: __metaclass__ = meta_bar ...: def foo(self): ...: return 'fuga_foo' ...: def bar(self): ...: return 'fuga_bar' ...: ...: In [8]: f = Fuga() In [9]: f.foo() Out[9]: 'meta_foo' In [10]: f.bar() Out[10]: 'meta_bar' In [11]: h Out[11]: <__main__.Hoge_foo object at 0x015552F0> In [12]: f Out[12]: <__main__.Fuga_bar_foo object at 0x01542AF0>