2009-02-09 6 views

Répondre

14

I figured it out. Il semble que les classes sont de type "type". Voici un exemple de la façon de faire la distinction entre les classes et les autres objets lors de l'exécution.

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

Merci! J'ai essayé d'utiliser 'type (C) is type', qui a fonctionné pour les classes simples, mais pas quand C utilise une métaclasse. 'isinstance (C, type)', comme vous l'avez écrit, renvoie toujours 'True' dans ce cas, cependant. – goodmami

5

Il a été utilisé pour classic classes. En Python 3, ils sont partis. Je suppose que vous pouvez utiliser quelque chose comme:

issubclass(ClassName, object) 
Questions connexes