Python中有很多运算符,今天我们就来讲讲is和==两种运算符在应用上的本质区别是什么。
在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。
1、 is 也叫 同一性运算符,这个运算符比较判断的是对象之间的唯一身份标识,也就是id是否相同。
前三个例子都是True 最后一个就是False,因为id不相同
2、== 也叫 比较操作符,用来判断两个对象的value(值)是否相等,
a = 'abc' b = 'abc' print(a == b)
输出True
注意注意!
只有数值型和字符串型的情况下,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False。
注意注意注意注意!
这个-5到256都是True,257以后是False。
当你启动Python 的时候, -5 到 256 的数值就已经被分配好了. 这些数字因为经常使用所以适合被提前准备好.