from types import BuiltinFunctionType, BuiltinMethodType, \ FunctionType, MethodType, ClassType def help(object, spacing=10, collapse=1): """Print methods and doc strings. Takes module, class, list, dictionary, or string.""" types = (BuiltinFunctionType, BuiltinMethodType, FunctionType, MethodType, ClassType) methodList = [e for e in dir(object) if type(getattr(object, e)) in types] processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s) print "\n".join(["%s %s" % (method.ljust(spacing), processFunc(str(getattr(object, method).__doc__))) for method in methodList]) if __name__ == "__main__": print help.__doc__