在Python中判断对象的类型可以使用 type()
和 isinstance()
来判断对象的类型。但在继承类中,type()
存在无法判断实例对象也属于父类的的情况。
有类A和类B, B继续A的情况:
class A:
pass
class B(A):
pass
b = B()
使用 isinstance()
情况:
isinstance(b, B)
> True
isinstance(b, A)
> True
使用 type()
情况:
type(b)
> __main__.B
type(b) is B
> True
type(b) is A
> False
可以看到,使用 type()
来判断 b
的类型是不是 A
的结果是 False
。