python中is not是什么意思_请问python的is和is not运算符是干什么用的

275de21597c881e875b9f7dba359052c.png

慕雪6442864

简单来说,python中的is与is not运算符可判断两个对象是否为同一对象。若为同一个对象,则对象1 is 对象2为True 。反正,若非同一个对象,则对象1 is not 对象2为True要理解Python中的is和is not运算符,首先需要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、python type()(数据类型)和value(值)。is和==(is not和!=)都是对对象进行比较判断作用的。但对对象比较判断的内容并不相同。拿is和==为例,==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,例如下面两个字符串间的比较:>>> a = 'iplaypython.com'>>> b = 'iplaypython.com'>>> a == bTrueis也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。通过对下面几个列表间的比较,你就会明白is同一性运算符的工作原理:>>> x = y = [4,5,6]>>> z = [4,5,6]>>> x == yTrue>>> x == zTrue>>> x is yTrue>>> x is zFalse>>>>>> print id(x)3075326572>>> print id(y)3075326572>>> print id(z)3075328140可看出前三个例子都是True,而最后一个是False。x、y和z的值是相同的,所以前两个是True没有问题。至于最后一个为什么是False,看看三个对象的id分别是什么就会明白了。==比较操作符:用来比较两个对象是否相等,value做为判断因素;is同一性运算符:比较判断两个对象是否相同,id做为判断因素。同理,!=比较操作符:用来比较两个对象是否不等,value做为判断因素;is not同一性运算符:比较判断两个对象是否不同,id做为判断因素。

你可能感兴趣的:(python中is,not是什么意思)