这两个函数有意义用法差不多,都是查看对象的,但是两者之间也有一定区别,具体内容请看下文~
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实用知识,点击进入Python学习网教学中心。
(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)