语法
isinstance(object, classinfo)type(object)
参数说明如下:
object:要检查类型的对象。classinfo:要检查的类或由类组成的元组。
例如:我们有一个 Animal 类和一个其派生类 Dog:
1  | class Animal: # 类  | 
区别
1  | # 使用 isinstance() 检查对象是否是指定类(或其派生类)的实例  | 
isinstance
可以看到isinstance返回的都是 True,因为 dog 是Animal和Dog的实例(继承关系)。
type
而type返回的是<class '__main__.Dog'>、False、True,因为它不会考虑继承关系,只返回对象的确切(当前)类型,所以type会判断dog和Animal是不同的类型。
总结
isinstance(object, classinfo)函数用于检查一个对象是否是指定类(或该类的派生类)的实例。
它会考虑继承关系,即如果对象是指定类的派生类的实例。type(object)函数返回对象的类型。
它不会考虑继承关系,只返回对象的确切类型。