class A(object): pass class B(A): pass b = B()
issubclass(class, classinfo)
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
class A(object): pass class B(A): pass b = B() print(isinstance(b,A)) # True print(isinstance(b,B)) # True print(type(b) is B) # True print(type(b) is A) # False print(issubclass(B,A)) # True print(issubclass(b,B)) # TypeError: issubclass() arg 1 must be a class