On Wed, 2009-04-08 at 19:47 +0100, Dale Amon wrote: > There are a number of things which I have been used > to doing in other OO languages which I have not yet > figured out how to do in Python, the most important > of which is passing method names as args and inserting > them into method calls. Here are two cases I have been > trying to figure out for a current project. > > The first is passing methods to dispatcher methods. In > pseudocode, something like this: > > def dispatcher(self,methodname): > self.obj1.methodname() > self.obj2.methodname()
The built-in getattr() function: def dispatcher(self, methodname): getattr(self.obj1, methodname)() getattr(self.obj2, methodname)() > and another case is selecting behavior of an object by > setting a type string, with pseudo code like this: > > self.IBM029 = re.compile([^acharset] > self.IBM026 = re.compile([^anothercharset] > self.type = "IBM029" > errs = self.(self.type).findall(aCardImage) Same: errs = getattr(self, self.type).findall(aCardImage) -- http://mail.python.org/mailman/listinfo/python-list