2012-09-04 3 views
13

私はどのメソッドと属性がPythonのすべての例外クラスの母親に付属しているのかを調べようとしています:Exceptionクラス。しかし、公式の文書はそれを提供していないので、私は少し問題があります。Pythonの組み込みクラスのメソッドと属性はどこにありますか?

私が見つけた最高のものはhttp://docs.python.org/library/exceptions.htmlでしたが、組み込みの例外のみが記載されています。

何が起こっているのですか?私はすべてのものがテーブル上に置かれ、JavaとPHPドキュメンテーションに慣れ:(

+2

*すべてが* Pythonでテーブルにレイアウトされています。 'BaseException'クラスはそのページに書かれていますが、あなたは何が欠けていますか? –

+1

基本的な例外クラスのCコードは以下の通りです:http://hg.python.org/cpython/file/tip/Objects/exceptions.c私はそれがあなたに役立つだろうとは思っていませんが。 :-P –

+8

@MartijnPieters彼は一貫性があり、ナビゲートしやすく、非会話的な方法で文書化されている部分を欠いている。メソッド名、引数、返り値の意味のテーブル。フィールドのテーブル、フィールドのタイプ、フィールドの意味。彼はドキュメンテーションが良い部分を欠いている。私もそれを逃しています。私はそれをたくさん失っている。 : –

答えて

15

組み込み関数dirは、オブジェクトのメソッドと属性を備えた名前のリストを提供します。

>>>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ページのエッセイを読む必要があります。 – jarmod

5

ありBaseException上の唯一の興味深い属性はだ、それはargsだが、これは、文書化されているが、これも問題はありません

特別な(__)メソッド以外は、直接呼び出さないでください。BaseExceptionのメソッドはありません。何があったときに、これらのうち、__str__

str()またはunicode()場合は、このクラスのインスタンスで呼び出された文で文書化されて、インスタンスへの引数(複数可)の表現が返されない、または空の文字列されています議論

は、[1つのよりpublic属性、messageありますが、あなたは、あなたがDeprecationWarningを取得することをアクセスした場合。非推奨の属性は、新しいコードで使用するべきではないため、常に文書化されているわけではありません。]

+0

'__unicode __()'は 'unicode()'メソッド(Python 2.x)で記述されています。:-) –

関連する問題