首先这两个都是可以用来查看对象的数据类型
- type()是一个内置函数,可以用来查询变量所指的对象类型
- isinstance()是用来判断该变量是否为某种数据类型
对于基本数据类型
直接看代码
# type print(type(1), type(True), type([1,2,3])) # isinstance print(isinstance(1, int)) print(isinstance(True, bool)) print(isinstance([1,2,3], tuple))
输出结果
<class 'int'> <class 'bool'> <class 'list'> True True False
自定义类
对于自定义类来说
- type()认为子类和父类不是一种类型,
- isinstance()认为子类是一种父类类型
# 父类 class A: pass # 子类 class B(A): pass print(type(A()) == A) # returns True print(isinstance(A(), A)) # returns True print(type(B()) == A) # returns False print(isinstance(B(), A)) # returns True
关注我,私信我【Python】,还可以免费获取一套精心整理的电子书籍哟!点击【了解更多】内容