简化python中的类docstring

时间:2014-12-01 20:51:15

标签: python docstring

我有一个派生自Exception的最简单的类,看起来像这样:

class Test(Exception):
    '''
    My Test class 
    '''
    def __init__(self, param=None):
        self.param = param

    def __str__(self):
        return 'Test representation'

    def foo(self):
        '''Perform a foo'''
        print 'Fubar'

当我在这个模块上运行help()时,我得到:

class Test(exceptions.Exception)
 |  My Test class
 |
 |  Method resolution order:
 |      Test
 |      exceptions.Exception
 |      exceptions.BaseException
 |      __builtin__.object
 |
 |  Methods defined here:
 |
 |  __init__(self, param=None)
 |
 |  __str__(self)
 |
 |  foo(self)
 |      Perform a foo
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __weakref__
 |      list of weak references to the object (if defined)
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from exceptions.Exception:
 |
 |  __new__ = <built-in method __new__ of type object>
 |      T.__new__(S, ...) -> a new object with type S, a subtype of T
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from exceptions.BaseException:
 |
 |  __delattr__(...)
 |      x.__delattr__('name') <==> del x.name
 |
 |  __getattribute__(...)
 |      x.__getattribute__('name') <==> x.name
 |
 |  __getitem__(...)
 |      x.__getitem__(y) <==> x[y]
 |
 |  __getslice__(...)
 |      x.__getslice__(i, j) <==> x[i:j]
 |
 |      Use of negative indices is not supported.
 |
 |  __reduce__(...)
 |
 |  __repr__(...)
 |      x.__repr__() <==> repr(x)
 |
 |  __setattr__(...)
 |      x.__setattr__('name', value) <==> x.name = value
 |
 |  __setstate__(...)
 |
 |  __unicode__(...)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from exceptions.BaseException:
 |
 |  __dict__
 |
 |  args
 |
 |  message

这是一个可怕的噪音,与课堂上的文件无关。我如何压制所有这些?

[编辑] 如果班级没有从异常中继承,我希望它更像是我得到的东西

像这样:

class Test
 |  My Test class
 |
 |  Methods defined here:
 |
 |  __init__(self, param=None)
 |
 |  __str__(self)
 |
 |  foo(self)
 |      Perform a foo

1 个答案:

答案 0 :(得分:1)

如果您输入:

help(help) 

你应该阅读:

Help on _Helper in module site object:

class _Helper(__builtin__.object)
 |  Define the builtin 'help'.
 |  This is a wrapper around pydoc.help (with a twist).
 ...

这意味着你应该能够写下你自己的&#34;辅助功能。您似乎应该查看pydoc的{​​{1}}实现。