Python中is和==的区别
Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。
is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。 == 比较操作符和is同一性运算符区别 == 是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等 例1: a='hello' b='hello' print(a==b) # True is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。 例2: x=y=[1,2,3] z=[1,2,3] print(x is y) # True print(x is z) # False print(id(x)) # 2294749991048 print(id(z)) # 2294747443336
总结:
==比较操作符:用来比较两个对象是否相等,value做为判断因素;
is同一性运算符:比较判断两个对象是否相同,id做为判断因素