描述:
isinstance()函数用来判断一个对象是否是一个已知的类型,类似于type()
isinstance() 与 type() 的区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
判断两者类型是否相同,推荐使用isinstance() 。
示例:
a = 123
isinstance(a,int)
>>> True
isinstance(a,str)
>>> False
isinstance(a,(int,str,list)) # 满足其中一个,便返回True
>>> True
# isinstance() 和 type() 的差异
class A:
pass
class B(A):
pass
isinstance(A(),A)
>>> True
type(A()) == A
>>> True
isinstance(B(),A)
>>> True
type(B()) == A
>>> False