python-is与==区别 Jun 6, 2020 · python · 分享到: Python中is与==的区别 在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、python type()(数据类型)和value(值)。is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。下面来看看具体区别在哪。 ==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,例如下面两个字符串间的比较: 1>>> a = 'iplaypython.com' 2>>> b = 'iplaypython.com' 3>>> a == b 4True is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。通过对下面几个列表间的比较,你就会明白is同一性运算符的工作原理: 1>>> x = y = [4,5,6] 2>>> z = [4,5,6] 3>>> x == y 4True 5>>> x == z 6True 7>>> x is y 8True 9>>> x is z 10False 11>>> 12>>> print id(x) 133075326572 14>>> print id(y) 153075326572 16>>> print id(z) 173075328140 前三个例子都是True,这什么最后一个是False呢?x、y和z的值是相同的,所以前两个是True没有问题。至于最后一个为什么是False,看看三个对象的id分别是什么就会明白了。 总结 ==比较操作符:用来比较两个对象是否相等,value做为判断因素; is同一性运算符:比较判断两个对象是否相同,id做为判断因素。