jeeyoungk jeeyoungk - 7 months ago 7
Python Question

Python : How to check whether a variable is a class or not?

I was wondering how to check whether a variable is a class (not an instance!) or not.

I've tried to use the function

isinstance(object, class_or_type_or_tuple)
to do this, but I don't know what type would a class will have.

For example, in the following code

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


I tried to substitute "
class
" with ???, but I realized that
class
is a keyword in python.

Answer

Even better: use the inspect.isclass function.

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

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