描述:
isinstance()函数用来判断对象是否是一个已知类型,和type()函数类似。但是有区别,type()不考虑继承关系,不认为子类是一种父类类型,而isinstance() 考虑继承关系,认为子类是一种父类类型。所以,比较两个类型是否相同,推荐用isinstance()。
语法:
isinstance(object, classinfo)
参数介绍:
object --- 实例对象
classinfo --- 直接或间接类名、基本类型或者由它们组成的元组
返回值:
对象的类型与参数 classinfo 相同则返回 True,否则返回 False。
下面例子展示isinstance()函数使用方法
a = 8
print(isinstance(a,int)) #True
print(isinstance(a,str)) #False
print(isinstance(a,(str,int,list))) #元组中的一个,返回True
#type() 与 isinstance()区别
class A:
pass
class B(A):
pass
print(isinstance(A(),A)) #返回True
print(type(A()) == A) #返回True
print(isinstance(B(),A)) #返回True
print(type(B()) == A) #返回False
输出
True
False
True
True
True
True
False
引申:可以对比学习python type()函数。
本期isinstance()函数就学到这里