天天看点

python中 == 和 is 的区别

在讲== 和 is 这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值。

== 和 is 都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。

== 是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等。

is 也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。

python中 == 和 is 的区别

执行c = a,再次输出a,b,c的 id ,发现a的 id 和 c 的 id 相同,也就是a 和 的地址空间指向同一个 id 地址空间。

python中 == 和 is 的区别

由此可以知道,虽然a 列表和b列表相同,但是它们仅仅是列表元素相同,地址空间并不相同,而c = a 也就是让c的地址空间也指向a,所有a ,c的 id 相同。

最后,附上一题。

python中 == 和 is 的区别