2009-02-09 75 views

回答

14

我想通了。看起来类是“类型”类型的。这里是一个如何在运行时区分类和其他对象的例子。

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

谢谢!我尝试过使用`type(C)is type`,它适用于简单的类,但不适用于C使用元类。就像你写的那样,`isinstance(C,type)`在这种情况下仍然返回`True`。 – goodmami 2016-05-03 23:12:37

5

它被用于classic classes。在Python 3中,它们不见了。 我想你可以使用类似的东西:

issubclass(ClassName, object)