在python中获取基类类型

在python中获取基类类型,python,Python,是否有一种替代方法可以检查对象是否从类继承?是:isinstance(obj,Klass) type()返回类型对象。a是实际的类,而不是类型您的答案似乎与OP在问题中所说的相矛盾!?我刚刚开始进行类型检查,所以我对任何评论都感兴趣。你确定类型(c)=类型(d)吗?type(c)和type(d)都返回一个类实例类型,所以它们必须相等。我想我们应该在这里使用isinstance。您可以通过创建类x:pass和z=x()来确认这一点,在类x和类a之间没有继承,但是您仍然会发现类型(z)==type(

是否有一种替代方法可以检查对象是否从类继承?

是:
isinstance(obj,Klass)


type()
返回类型对象。a是实际的类,而不是类型

您的答案似乎与OP在问题中所说的相矛盾!?我刚刚开始进行类型检查,所以我对任何评论都感兴趣。你确定类型(c)=类型(d)吗?
type(c)
type(d)
都返回一个
类实例
类型,所以它们必须相等。我想我们应该在这里使用
isinstance
。您可以通过创建
类x:pass
z=x()
来确认这一点,在
类x
类a
之间没有继承,但是您仍然会发现
类型(z)==type(c)
返回True。以上是针对Python 2.7.8的。在Python 3.4.1中,
type(c)
type(d)
将返回
class'type'
,这也将导致
True
结果。但是它并没有说
c
d
属于同一类型,在Python3.51中它返回False。
class a:
    pass

class b(a):
    pass

c = b()
type(c) == a #returns False
>>> class a:
...   pass
... 
>>> class b(a):
...   pass
... 
>>> c = b()
>>> d = a()
>>> type(c) == type(d)
True