码迷,mamicode.com
首页 > 编程语言 > 详细

Python_Tips[6] -> is 和 == 的区别

时间:2018-01-07 14:29:16      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:查看   mes   time   class   gpo   python   mil   区别   log   

is==的区别 / Difference between is and ==


 

对于Python的对象来说,具有id/type/value三种特性,而在判断两个相等的is和==中,分别是对对象的id和value进行判断,以下例子可以看出两者的不同之处,

1 x = [1, 2, 3]
2 y = [1, 2, 3]
3 z = x
4 print(x id is %d, y id is %d, z id is %d % (id(x), id(y), id(z)))
5 # x id is 52275016, y id is 13096648, z id is 52275016
6 
7 # is judge by id, == judge by value
8 print(x is y, x==y) # False, True
9 print(x is z, x==z) # True, True

从查看的结果来看,x和y的值相同,但是id却不同,而x和z的值相同,也就是两者指向了同一个对象,分别将y和z与x进行等价比较,结果中可以看出,id相同的x和z的is语句判断成立,而id不同但是值相同的x和y则不成立。

 

参考链接

 

 

 


http://blog.csdn.net/imzoer/article/details/8637408

Python_Tips[6] -> is 和 == 的区别

标签:查看   mes   time   class   gpo   python   mil   区别   log   

原文地址:https://www.cnblogs.com/stacklike/p/8227681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!