概述:
Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)
is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同,而Type()获取对象类型进行判断:
==:是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等
is:也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同
Type():获取python对象的类型,用来判断类型是否相等
结论:
只有数值型和字符串型的情况下,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False(id不一样)
tips:
isinstance() 与 type() 区别
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()