isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
isinstance(object, classinfo)
object -- 实例对象。
classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
classinfo可以是:int,float,bool,complex(复数),str(字符串),list,dict(字典),set,tuple
如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。
a = 'python' print(isinstance(a,str)) # True print(isinstance(a,list)) # False print(isinstance(a,dict)) # False print(isinstance(a,(dict,list,str))) # True 是否是dict,list,str中的一种类型 print(isinstance(2,int)) # True
class A: pass class B(A): pass a = A() b = B() print(isinstance(a,A)) # True print(isinstance(b,A)) # True # 考虑继承 print(type(b)==B) # True print(type(b)==A) # False 不考虑继承
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理