Python 为什么isclass函数的值为false?

Python 为什么isclass函数的值为false?,python,class,Python,Class,我使用以下代码来确定输入参数是类还是变量: class Trajectory(): ... print inspect.isclass( Trajectory() ) 其中轨迹是一个类,但是当我调用这个函数时,我得到的是false。为什么? 根据文件,这必须是真实的 inspect.isclass(object) Return true if the object is a class, whether built-in or created in Python code.

我使用以下代码来确定输入参数是类还是变量:

class Trajectory():
  ...

print inspect.isclass( Trajectory() )
其中轨迹是一个类,但是当我调用这个函数时,我得到的是false。为什么?

根据文件,这必须是真实的

inspect.isclass(object)

    Return true if the object is a class, whether built-in or created in Python code.
因为
tracture()
是类实例–
tracture
是类

print inspect.isclass(Trajectory)

将打印
True

,因为您正在实例化轨迹并获取对象实例。注意:

In [1]: import inspect
In [2]: class Trajectory():
   ...:     pass
   ...: 
In [3]: print inspect.isclass(Trajectory())
False
In [4]: print inspect.isclass(Trajectory)
True

我想您正在寻找
isinstance
函数

class Test(object): pass

a = Test()
b = 1234

assert isinstance(a, Test)
assert not isinstance(b, Test)