def __str__(self):
ret = []<EOL>fex_dict = self._flatten_ex_dict()<EOL>for key in sorted(fex_dict):<EOL><INDENT>rstr = []<EOL>extype = _ex_type_str(fex_dict[key]["<STR_LIT:type>"])<EOL>exmsg = fex_dict[key]["<STR_LIT>"]<EOL>rstr.append("<STR_LIT>".format(exname=key))<EOL>rstr.append("<STR_LIT>".format(extype=extype))<EOL>rstr.append("<STR_LIT>".format(exmsg=exmsg))<EOL>flist = [self.decode_call(item) for item in fex_dict[key]["<STR_LIT>"]]<EOL>iobj = enumerate(sorted(flist))<EOL>for fnum, func_name in iobj:<EOL><INDENT>rindex = flist.index(func_name)<EOL>rstr.append(<EOL>"<STR_LIT>".format(<EOL>callable_type="<STR_LIT>" if fnum == <NUM_LIT:0> else "<STR_LIT:U+0020>" * <NUM_LIT:10>,<EOL>callable_name=func_name,<EOL>rtext=("<STR_LIT>" if fex_dict[key]["<STR_LIT>"][rindex] else "<STR_LIT>"),<EOL>)<EOL>)<EOL><DEDENT>ret.append("<STR_LIT:\n>".join(rstr))<EOL><DEDENT>return "<STR_LIT>".join(ret)<EOL>
Return a string with a detailed description of the object's contents.

For example:

    >>> from __future__ import print_function
    >>> import docs.support.exh_example
    >>> pexdoc.del_exh_obj()
    >>> docs.support.exh_example.my_func('Tom')
    My name is Tom
    >>> print(str(pexdoc.get_exh_obj())) #doctest: +ELLIPSIS
    Name    : ...
    Type    : TypeError
    Message : Argument `name` is not valid
    Function: None