首页 > 编程语言 > 详细

python is 和==的区别

时间:2015-02-07 20:24:41      阅读:252      评论:0      收藏:0      [点我收藏+]
Python中的对象包含三要素:id、type、value
其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值
is判断的是a对象技术分享是否就是b对象,是通过id来判断的
==判断的是a对象的值是否和b对象的值相等,是通过value来判断的
如下代码或许可以帮助你理解。
>>> a = 1
>>> b = 1.0
>>> a is b
False
>>> a == b
True
>>> id(a)
12777000
>>> id(b)
14986000
————注意下面的情况——————————————————
 >>> a = 1
>>> b = 1
>>> a == b
True
 >>> a is bTrue
a==b 没有任何问题。但是a is b 为什么是True呢??
python学习手册P164页作出了解释:
a,b不是同一个对象,因为是两个不同的常量表达式。 不过,因为小的整数和字符串被缓存并复用了,所以is告诉我们是同一个对象。

python is 和==的区别

原文:http://blog.csdn.net/chenlei0630/article/details/43605295

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!