is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。
想要知道他们的区别,首先要了解一下id()函数,id()函数用于获得python中变量或者对象的唯一标识符,可以理解为内存地址。
使用方法如下:
a = 123id(a)
返回结果是一个int值
因此可以理解,每一个对象都有一个id和value。
==的作用
==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等。
即,两个对象,不管他们的id是不是一致,只要value相等,那么就会返回True。
演示代码如下:
上面的例子可以看出变量a和b的内存地址是不一样的,但是值一样,所以返回True
is的作用
is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。
即,两个对象,只有他们的内存地址一样,或者说是同一个对象的时候,才会返回True。
演示代码如下: