On Thu, Apr 29, 2010 at 5:55 PM, Richard Lamboj <richard.lam...@bilcom.at> wrote: > i want to add functions to an instance of a class at runtime. The added > function should contain a default parameter value. The function name and > function default paramter values should be set dynamical.
The normal way of doing this by binding a new MethodType to an instance: >>> class A(object): ... def foo(self): ... return "foo" ... >>> def bar(self): ... return "bar" ... >>> a = A() >>> a.foo() 'foo' >>> a.bar() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'A' object has no attribute 'bar' >>> from types import MethodType >>> setattr(a, "bar", MethodType(bar, a)) >>> a.bar() 'bar' >>> a.foo <bound method A.foo of <__main__.A object at 0x8380e8c>> >>> a.bar <bound method ?.bar of <__main__.A object at 0x8380e8c>> >>> cheers James -- http://mail.python.org/mailman/listinfo/python-list