python中有很多运算符,今天我们就来讲讲is和==两种运算符在应用上的本质区别是什么。

在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、python type()(数据类型)和value(值)。is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。下面来看看具体区别在哪。

==比较操作符和is同一性运算符区别

==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,例如下面两个字符串间的比较:
>>> a = 'iplaypython.com'
>>> b = 'iplaypython.com'
>>> a == b
True

is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。通过对下面几个列表间的比较,你就会明白is同一性运算符的工作原理:
>>> x = y = [4,5,6]
>>> z = [4,5,6]
>>> x == y
True
>>> x == z
True
>>> x is y
True
>>> x is z
False
>>>
>>> print id(x)
3075326572
>>> print id(y)
3075326572
>>> print id(z)
3075328140

前三个例子都是True,这什么最后一个是False呢?x、y和z的值是相同的,所以前两个是True没有问题。至于最后一个为什么是False,看看三个对象的id分别是什么就会明白了。

总结

==比较操作符:用来比较两个对象是否相等,value做为判断因素;
is同一性运算符:比较判断两个对象是否相同,id做为判断因素。

Python is同一性运算符和==相等运算符区别相关推荐

  1. Python中is同一性运算符和==相等运算符区别

    2019独角兽企业重金招聘Python工程师标准>>> 在区分is和==这两种运算符区别之前,需要知道Python中对象包含的三个基本要素,分别是:id(身份标识).type(数据类 ...

  2. Python中运算符 is 和 == 的区别

    Python 中有个很有趣的运算符–is,其作用看似和==是一样的,但实际上并非如此. 通过一个示例来看一下两者的去区别: >>> a = b = [1,2,3] >>& ...

  3. 运算符:is与==的区别

    运算符 is 和 == 的区别 首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识).type(数据类型)和value(值). ==是python标准操作符中的比较操作符,用来比较 ...

  4. 4、Python运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级(学些笔记)

    4.1Python算术运算符 以下假设变量:a = 10,b=20 示例: # -*- coding: UTF-8 -*-a = 25 b = 3 c = 0c = a + b print(" ...

  5. python逻辑型数据也叫什么_Python入门 | 运算符和数据类型

    自用总结. 零散知识 1.Python的计算方法:运算符.函数.方法 1) 方法与函数的区别: 方法与特定类型的对象有关,是属于某个对象的函数,对象始终是该方法的第一个参数.e.g. islower( ...

  6. python ** 运算符_Python入门(9)运算符 — 位运算符、成员运算符、身份运算符...

    作者:猿人曰 在上一章中我们讲了算术运算符.比较运算符.赋值运算符.逻辑运算符.本章我们来讲:位运算符.成员运算符.身份运算符. 位运算符 位运算符是把数字变成二进制,一位一位的去进行运算.  位运算 ...

  7. Python基础—简介、变量、运算符

    文章目录 一.基础简介 1.Python简介 2.执行过程 二.变量 三.数据类型 1.数字 2.字符串 3.布尔bool 4.空值对象None 5.列表 6.字典 7.数据类型转换 重点 四.格式化 ...

  8. python 位运算与等号_Python 运算符

    和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...

  9. Python 炫技操作:海象运算符的三种用法

    作者 | 明哥 来源 |  Python编程时光(ID:Cool-Python) Python 版本发展非常快,如今最新的版本已经是 Pyhton 3.9,即便如此,有很多人甚至还停留在 3.6 或者 ...

最新文章

  1. 一些Jquery操作
  2. Bentley MicroStation V8i安装教程
  3. 使用SAP云平台的destination消费Internet上的OData service
  4. [mybatis]Mapper XML Files_获取自增主键的值
  5. 数学函数(C/C++)
  6. 统计一个整数的所有因子的个数_【题解循环嵌套】1095:数1的个数
  7. Java日志框架之JUL(java util logging)详解
  8. JAVA day07 权限,封装,JavaBean(规范代码),static、final关键字
  9. matlab左除怎么输入法,python 实现matlab左除
  10. 大数据——Spark GraphX介绍
  11. 魅族可以Android编程吗,魅族 - 融云开发文档
  12. NFT游戏开发NFT游戏平台模板搭建NFT平台定制开发MOBOX:NFT Farmer游戏开发
  13. 模拟器xposed框架安装7.1-64教程
  14. 跨境电商wish账户被禁用暂停的原因有哪些?wish店铺封号注意事项
  15. 全球变暖java_Java实现第九届蓝桥杯全球变暖
  16. 进制如何转换?原理是什么?
  17. 第六十九章 SQL函数 JSON_OBJECT
  18. 每日新闻:腾讯内部架构大调整;首个网民网络安全感满意度调查报告发布-网民满意度总体中等偏上;马斯克将辞任特斯拉董事长...
  19. Erika企业版实时操作系统
  20. 融云IM报错connect should be called in main process

热门文章

  1. 智能实验室服务器,阿里巴巴机器智能实验室线下智能团队三年工作总结
  2. python判断文件是否存在 中文_python如何判断文件是否存在
  3. 最便宜的鸿蒙手机,今年不再推出鸿蒙手机,却让老旗舰占据优势,降价后变真香...
  4. 如何看当前windows是utf8还是gbk_职场中的OKR如何“好好说话”
  5. mariadb mysql同步_MySQL(Mariadb)主从同步基础
  6. c语言位向量机伞_一文读懂C语言精华-指针变量和指向指针的指针
  7. 快查电脑:开关机记录等(电脑使用痕迹)
  8. IE8 打开网站首页显示的却是手机网站
  9. 动漫App下载单页界面HTML源码带弹幕
  10. thinkPHP仿QQ飞车手游模拟抽奖源码