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做为判断因素
View Code

 

posted @ 2017-12-04 01:49  申不二  阅读(441)  评论(0编辑  收藏  举报