python isinstance()内置函数

一.作用

用来判断一个对象是不是已知类型,与type()类似。但是这两个函数的区别是:isinstance()函数会将继承关系考虑进去,而type()函数不会。

二.语法

isinstance(object,classinfo)

对于基本类型来说classinfo可以是int,str,dict,float,bool,complex,list,set,tuple,也可以是直接或间接类名,基本类型,或者是由他们组成的元组。如果object类型与classinfo的类型相同,则返回True,否则返回False

a=1
ssh=isinstance(a,int)
print(ssh)
ssh=isinstance(a,str)
print(ssh)
ssh=isinstance(a,(int,str,dict))#只要a是元组中的一个类型就返回True
print(ssh)

结果是

True
False
True
三.type与isinstance比较

class A:
    pass
class B(A):
    pass
rich=B()
print(isinstance(rich,A))
print(type(rich)==A)

结果是

True
False
可以看到isinstance()考虑到了rich是B的对象,B继承自A,rich也属于类型A

你可能感兴趣的:(Python,学习)