2012-09-04 11 views
13

Python'daki tüm özel durum sınıflarının annesiyle hangi yöntemlerin ve özelliklerin geldiğini bulmaya çalışıyorum: Özel durum sınıfı. Ancak, resmi belgelerin bunu sağladığından pek bir sorun yaşıyorum.Python'un yerleşik sınıflarının yöntemlerini ve özelliklerini nerede bulabilirim?

Bulabilir olduğum en iyi şey: http://docs.python.org/library/exceptions.html ancak bu yalnızca yerleşik istisnaları listeler.

Neler oluyor? Ben bir nesnenin yöntem ve özelliklerini içeren isim listesini verecektir şeyi masaya :(

+2

Her şey Python ile masaya yatırılmıştır *. 'BaseException' sınıfı bu sayfada belgelenmiştir, neyi kaçırıyorsunuz? –

+1

Eğer mutlak nitty cesur ihtiyacınız varsa, temel istisna sınıfının C kodu: http://hg.python.org/cpython/file/tip/Objects/exceptions.c Bu sizin için yararlı olacağını şüphe ediyorum . : -P –

+8

@MartijnPieters Tutarlı, kolay yönlendirilebilen, konuşulmayan bir şekilde belgelendiği kısmı kaçırıyor. Yöntem isimleri, argümanlar, dönüş değerlerinin anlamları tabloları ile. Ve tarla tabloları, alan türleri, alanların anlamları. Belgelerin iyi olduğu kısmı kaçırıyor. Bende bunu özlüyorum. Onu çok özlüyorum. :( –

cevap

15

yerleşik işlev dir serilir Java ve PHP belgelerine alışkınım.

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

Ayrıca help yöntemi kullanarak yardım alabilirsiniz.:.. help(Exception)

+0

Bu çok yararlı, teşekkür ederim – mjgpy3

+21

Bu istisna sınıfı için * dokümantasyon * değil Python java gibi temel metod ve özellik tabloları olmalıdır.Şu anda size bir şey var 73 şeyler tartışırken 5 sayfalık bir okuma okumak zorunda Önemli değil – jarmod

5

orada BaseException üzerinde sadece bir ilginç özellik var, o da args var Bu belgelenmiştir, böylece hiçbir sorun yok

Doğrudan arayamamanız gereken özel (__) yöntemlerden başka BaseException yönteminde yöntem yoktur. Hiçbir oradayken Bunlardan __str__

str() veya unicode() ise bu sınıfın bir örneği üzerinde denir cümle ile belgelenmiştir, örneğine argüman (lar) temsil iade veya boş dize edilir argümanlar.

[bir daha kamu niteliği, message yoktur, ama sen bir DeprecationWarning alacak erişmek eğer. Yeni kodda kullanılmaması gerektiğinden, kullanımdan kaldırılan öznitelikler her zaman belgelenmez.]

+0

'__unicode __()' 'unicode() yöntemi ile (Python 2.x'te) belgelenmiştir. :-) –

İlgili konular