2012-09-04 5 views
13

Ich versuche herauszufinden, welche Methoden und Attribute mit der Mutter aller Ausnahmeklassen in Python kommen: die Exception-Klasse. Allerdings habe ich ein paar Probleme, da die offizielle Dokumentation es nicht zu bieten scheint.Wo finde ich die Methoden und Attribute von Python?

Das Beste, was ich finden konnte, war: http://docs.python.org/library/exceptions.html, aber das listet nur die eingebauten Ausnahmen auf.

Was ist los? Ich bin auf die Java und PHP Dokumentationen verwendet, wo alles auf dem Tisch festgelegt :(

+2

Alles * ist * auf dem Tisch mit Python angelegt. Die 'BaseException' Klasse ist auf dieser Seite dokumentiert, was fehlt Ihnen? –

+1

Wenn Sie die absolute Nitty Gritty benötigen, ist der C-Code für die Basisausnahmeklasse: http://hg.python.org/cpython/file/tip/Objects/exceptions.c Ich bezweifle, dass das für Sie jedoch hilfreich sein wird . :-P –

+8

@MartijnPieters Er vermisst den Teil, wo es in einer konsistenten, leicht zu navigierenden, nicht-konversationellen Weise dokumentiert ist. Mit Tabellen von Methodennamen, Argumenten, Bedeutungen von Rückgabewerten. Und Tabellen von Feldern, Feldtypen, Bedeutungen von Feldern. Er fehlt der Teil, wo die Dokumentation gut ist. Ich vermisse das auch. Ich vermisse es sehr. :( –

Antwort

15

Die eingebaute Funktion dir wird eine Liste von Namen geben, mit den Methoden und Attribute eines Objekts.

>>>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'] 

Sie können auch die help Methode erhalten Hilfe bei der Benutzung:... help(Exception)

+0

Das ist sehr hilfreich, danke. – mjgpy3

+21

Das ist keine * Dokumentation * für die Exception-Klasse. Python sollte grundlegende Methode & Attributtabellen wie Java haben. Im Moment musst du einen 5-seitigen Essay über 73 Sachen lesen, die du nicht magst – jarmod

5

Es gibt nur eine interessante Eigenschaft auf BaseException, und das ist args Dies dokumentiert ist, so gibt es kein Problem

Es gibt keine Methoden auf BaseException andere als die speziellen (__) Methoden, die Sie nicht direkt aufrufen sollten. Von diesem durch den Satz __str__ dokumentiert

Wenn str() oder unicode() auf einer Instanz dieser Klasse aufgerufen wird, wird die Darstellung des Arguments (n) an die Instanz zurückgegeben, oder die leere Zeichenkette, wenn es keine war Argumente.

[Es gibt ein weiteres öffentliches Attribut, message, aber wenn Sie zugreifen, dass Sie ein DeprecationWarning bekommen. Veraltete Attribute sind nicht immer dokumentiert, da Sie sie nicht in neuem Code verwenden sollten.]

+0

'__unicode __()' ist dokumentiert durch die 'unicode()' Methode (in Python 2.x) :-) –