isinstance(object, classinfo)
判断一个对象是否是一个已知的类型。
判断一个对象是否是一个已知的类型:
a = int(10)
assert isinstance(a, int) and not isinstance(a, str)
assert isinstance(a, (int, str, list))
isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。而isinstance() 会认为子类是一种父类类型,考虑继承关系 。
class A:
pass
class B(A):
pass
assert isinstance(A(), A)
assert isinstance(B(), A) and not type(B()) == A