Python中 is 和 == 的区别

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 的数值就已经被分配好了. 这些数字因为经常使用所以适合被提前准备好.

原文地址:https://www.cnblogs.com/jackson669/p/12201458.html