Python 中is和= = 的比较


Python中的对象包含三要素:id、type、value

其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值

is判断的是a对象是否就是b对象,是通过id来判断的

==判断的是a对象的值是否和b对象的值相等,是通过value来判断的

python is主要是判断2个变量是否引用的是同一个对象,如果是的话,则返回true,否则返回false

>>> a = '123'
>>> b = '123'
>>> a == b
True
>>> a is b
True
>>>

a is b 返回true,因为变量a和b都存储了字符串'123'对象的地址。

>>> a = '123'
>>> b = '123456'
>>> a == b
False
>>> a is b
False
>>>

print a is c 返回false,因为变量a和c存储了字符串对象地址不一致。


>>> a = 1
>>> b = 1.0
>>> a is b
False
>>> a == b
True
>>> id(a)
12777000
>>> id(b)
14986000
>>> a = 1
>>> b = 1
>>> a is b
True
>>> a == b
True
>>> id(a)
12777000
>>> id(b)
12777000

推荐阅读:

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]

Python脚本获取Linux系统信息

Python 网站文件及数据库备份脚本

Python文件处理:读取文件

如何发布自定义的Python模块

Python爬虫多线程抓取代理服务器

Python中re(正则表达式)模块详解

Python 的详细介绍:请点这里
Python 的下载地址:请点这里

相关内容