美文网首页
instance和type的区别

instance和type的区别

作者: 莫辜负自己的一世韶光 | 来源:发表于2018-11-22 19:55 被阅读0次

instance和type都是用来验证某个对象的类型的,它们的区别如下:
type()不会认为子类是一种父类类型,而instance会认为子类也是一种父类类型.

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
# 例一
a = 2
print(isinstance(a,int))   # True
print(isinstance(a,str))   # False

# type() 与 isinstance() 区别
class A:
    pass

class B(A):
    pass

print("isinstance",isinstance(A(),A))   # isinstance True
print("type",type(A())  == A)    # type True

print('isinstance',isinstance(B(),A) )   # isinstance True
print('type',type(B()) == A)     #  type False

相关文章

网友评论

      本文标题:instance和type的区别

      本文链接:https://www.haomeiwen.com/subject/lrutqqtx.html