isinstance()描述
isinsrance()函数是用来判断一个对象是否是已知的类型,类似type()
isinstance() 与 type()区别:
- type()不会认为子类是一种父类类型,不考虑继承关系
- isinstance()会认为子类是一种父类类型,考虑继承关系
例:class A: class A: pass class B(A): pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False
语法
isinstance(object,classinfo)
classinfo 可以是int,float,bool,complex,str(字符串),list,dict(字典),set,tuple
要注意的是,classinfo 的字符串是 str 而不是 string,字典也是简写 dict。例:num = 8453 isinstance(num,int) #输出True isinstance(num,str) #输出False isinstance(num, string) #报错 isinstance(num,(int,str,float)) #输出True num的类型只要是元组中的任意一个就能返回True