2014-12-01 24 views
3

我從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' 

當我運行該模塊的幫助(),我得到:

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 

這是一種可怕的噪音,與課程文件無關。我如何壓制這一切?

[編輯] 我想它更喜歡什麼,如果類沒有繼承自Exception

喜歡我會得到:

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

這正是它應該做的。你想要什麼? – jonrsharpe 2014-12-01 21:01:28

+0

如果你只想要class'docstring,你可以'print Test .__ doc__'或者'print inspect.getdoc(Test)'。 – iCodez 2014-12-01 21:04:46

+0

我希望它不會顯示與基類相關的東西 – 2014-12-01 21:26:22

回答

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). 
... 

這意味着你應該能夠編寫你自己的「幫手」功能。看來你應該看看help()的執行pydoc