前言
首先我们在Python高级中知道了Python一切皆对象
和对象的三个特征,身份(id)、类型(type)、值(value)。下面我们来具体说说is与==的区别。
==
是Python标准操作符中的比较操作符,用来比较判断两个对象的值(value)是否相等。
如下图所示:
is
也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是判断id是否相同。
例子如下所示:
>>> a = b = '无梦生7'
>>> c = '无梦生7'
>>> id(a)
1799814391920
>>> id(b)
1799814391920
>>> id(c)
1799814392400
>>> a == b
True
>>> a == c
True
>>> a is b
True
>>> a is c
False
从上面例子我们可以看出a的内存地址(id)与b相同所以a is b结果为True,而与c不同所以a is c 结果为False
总结
== 判断两个对象的值(value)是否相等
is 判断id是否相同