2012-09-04 66 views
13

我想找出哪些方法和屬性與Python中的所有異常類的母親:異常類。但是,由於官方文檔似乎沒有提供,所以我遇到了一些麻煩。我在哪裏可以找到python的內置類的方法和屬性?

我能找到的最好的是:http://docs.python.org/library/exceptions.html但只列出了內置的異常。

發生了什麼事?我已經習慣了這裏的一切都放下桌子上:(

+2

所有* *都*用Python放在表格中。 'BaseException'類記錄在該頁面上,你缺少什麼? –

+1

如果你需要絕對的實體,基本異常類的C代碼是:http://hg.python.org/cpython/file/tip/Objects/exceptions.c我懷疑這對你會有所幫助。 :-P –

+8

@MartijnPieters他錯過了以一致,易於導航,非會話方式記錄的部分。使用方法名稱,參數,返回值的含義表。和字段,字段類型,字段的含義表。他錯過了文檔很好的地方。我也錯過了。我很想念它。 ( –

回答

15

內置功能dir的Java和PHP單證將給包括對象的方法和屬性名稱的列表。

>>>print dir(Exception) 
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribut 
e__', '__getitem__', '__getslice__', '__hash__', '__init__', '__new__', '__reduc 
e__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', 
'__str__', '__subclasshook__', '__unicode__', 'args', 'message'] 

您也可以使用help方法幫助:。help(Exception)

+0

這是非常有用的,謝謝你 – mjgpy3

+21

這不是* Exception *類的文檔* Python應該有像Java這樣的基本方法和屬性表現在你必須閱讀一篇5頁的文章,討論73件你不喜歡的東西''''不在意 – jarmod

5

這裏只有一個在BaseException有趣的屬性,那就是args這是記錄,所以沒有問題

除了特殊的(__)方法外,BaseException上沒有方法,您不應該直接調用它。其中,__str__由句子

如果str()unicode()被稱爲這個類的一個實例文檔,參數(S),以實例的表示是返回,或空字符串時沒有參數。

[還有一個公共屬性,message,但是如果你訪問它,你將得到DeprecationWarning。由於您不應該在新代碼中使用它們,因此不推薦使用已棄用的屬性。]

+0

'__unicode __()'由'unicode()'方法記錄(在Python 2.x中)。:-) –

相關問題