has_method (solution found)
eric_brunel at despammed.com
Tue Aug 31 15:50:47 CEST 2004
> Somebody sent me a private e-mail.
> It must be common for such silly questions that would just spam the
> list. :-)
> I'll write down the final solution anyway.
> def getmethod(name):
> methodList = [e for e in dir(self) if callable(getattr(self, e))]
> if name in methodList:
> return getattr(self,name)
> return None
And why not:
def getmethod(obj, name):
meth = getattr(obj, name)
Why do you use a list comprehension to get the names of all methods on the object?
In addition, it won't work for class instances:
>>> class C:
... def m(self):
... print 'spam'
>>> o = C()
>>> getattr(o, 'm')
<method C.m of C instance at 0x821433c>
- Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> -
PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com
More information about the Python-list