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

python is 和==的区别

时间:2015-02-07 20:27:44      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:python

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 和==的区别

标签:python

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

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