On Wed, 20 May 2009 18:42:38 -0700, shailesh wrote: > The reason as far as I understand is that the methods on the built-in > dict are not of MethodType or FunctionType
That seems to be true: >>> type({}.get) <type 'builtin_function_or_method'> >>> type(dict.get) <type 'method_descriptor'> > so they are not included in > the result of the inspect.getmembers call and are not wrapped. But that isn't: >>> zip(*inspect.getmembers(dict))[0] # extract the names only ('__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__str__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values') So the problem isn't directly with getmembers, but with the predicate functions you have passed to it (inspect.isfunction and inspect.method). Try inspect.ismethoddescriptor instead. Hint: dir(inspect) and help(inspect.whatever) are useful :) -- Steven -- http://mail.python.org/mailman/listinfo/python-list