Jay Loden wrote: > Josiah Carlson wrote: >> Ahh, so you want to pass the method name to the method that you are >> returning to be called. No problem. >> >> >>> import functools >> >>> >> >>> class foo: >> ... def __getattr__(self, name): >> ... return functools.partial(self.ActualMethod, name) >> ... >> ... def ActualMethod(self, name, *args, **kwargs): >> ... #handle *args and **kwargs based on name! >> ... print name, args, kwargs >> ... >> >>> foo().bar('hello', world=1) >> bar ('hello',) {'world': 1} >> >>> > > Thanks, this is exactly what I was looking for! For some reason functools > didn't even show up at all during Google searches...must have just had the > wrong search terms.
Well, the particular operation is typically called 'currying a function', and unless you know what to look for, it isn't very easy to make happen. On the other hand, it is also relatively easy to implement by hand if necessary. - Josiah -- http://mail.python.org/mailman/listinfo/python-list