On Fri, 18 May 2012 14:14:33 +0200, Johannes Bauer wrote: > Hi group, > > I'm trying to dynamically add methods to a class at runtime. What I > would like to do is have them all delegated to one common function which > is called with the name of the function as first parameter. I.e.: [...]
Here's one way: import types class K(object): def _dispatcher(self, name, *args): print "called from", name, args def __init__(self): setattr(self, 'foometh', types.MethodType( lambda self, *args: self._dispatcher('foometh', *args), self, self.__class__) ) setattr(self, 'barmeth', types.MethodType( lambda self, *args: self._dispatcher('barmeth', *args), self, self.__class__) ) -- Steven -- http://mail.python.org/mailman/listinfo/python-list