クラスに対して動的にメソッドを追加する
Python で、クラスに対してあとから動的にメソッドを追加するには、new モジュールを使う。
import new class Foo(object): pass obj = Foo() obj.f1("abc") #=> AttributeError: 'Foo' object has no attribute 'f1' def f1(self, arg): print repr(arg) Foo.f1 = new.instancemethod(f1, None, Foo) obj.f1("abc") #=> 'abc'
new モジュールはこの他にも、
を動的に定義できる。