2009-02-09 6 views

Antwort

14

ich es herausgefunden. Es scheint, dass Klassen vom Typ "Typ" sind. Hier sehen Sie ein Beispiel für die Unterscheidung zwischen Klassen und anderen Objekten zur Laufzeit.

>>> class C: pass 
... 
>>> type(C) 
<class 'type'> 
>>> isinstance(C, type) 
True 
>>> isinstance('string', type) 
False 
+0

Danke! Ich habe versucht, 'type (C) is type' zu ​​verwenden, was für einfache Klassen funktioniert, aber nicht, wenn C eine Metaklasse verwendet. 'isinstance (C, type)', wie Sie geschrieben haben, gibt in diesem Fall jedoch immer 'True' zurück. – goodmami

5

Es wurde für classic classes verwendet. In Python 3 sind sie weg. Ich nehme an, Sie so etwas wie verwenden:

issubclass(ClassName, object)