如何检查一个变量是否是一个类?

问题:

我想知道如何检查一个变量是否是一个类(而不是一个实例!)。
我试图使用函数isinstance(object, class_or_type_or_tuple)来做到这一点,但是我不知道一个类将会有什么类型。
例如,在下面的代码中

class Foo: pass  
isinstance(Foo, **???**) # i want to make this return True.

我尝试用???替换“class”,但我意识到class是python中的关键字。

回答:

更好:使用inspect.isclass功能。

>>> import inspect
>>> class X(object):
...     pass
... 
>>> inspect.isclass(X)
True

>>> x = X()
>>> isinstance(x, X)
True
>>> y = 25
>>> isinstance(y, X)
False

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to check whether a variable is a class or not?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

2 + 2 =