is和==的区别

Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)
is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。下面来看看具体区别在哪。
==比较操作符is同一性运算符区别
(1)== 是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,例如下面两个字符串间的比较:
(2)is 也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。

>>> a = 1 #a和b为数值类型
>>> b = 1
>>> a is b
True
>>> id(a)
>>> id(b)
>>> a = 'cheesezh' #a和b为字符串类型
>>> b = 'cheesezh'
>>> a is b
True
>>> id(a)
>>> id(b)
>>> a = (1,2,3) #a和b为元组类型
>>> b = (1,2,3)
>>> a is b
False
>>> id(a)
>>> id(b)
>>> a = [1,2,3] #a和b为list类型
>>> b = [1,2,3]
>>> a is b
False
>>> id(a)
>>> id(b)
>>> a = {'cheese':1,'zh':2} #a和b为dict类型
>>> b = {'cheese':1,'zh':2}
>>> a is b
False
>>> id(a)
>>> id(b)
>>> a = set([1,2,3])#a和b为set类型
>>> b = set([1,2,3])
>>> a is b
False
>>> id(a)
>>> id(b)

只有数值型和字符串型的情况下,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False。而==都是True

is 和 is not

1.is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False

2.is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

not

not x 布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

>>> l = [1,2,34]
>>> if not l:
...     print('a')
... else:
...     print('b')
...
b
如果列表l不空,打印a,如果有元素,打印b

in 和 not in

  1. in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。

  2. not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列

a = 10
b = 20
list = [1, 2, 3, 4, 5 ];if ( a in list ):print ("1 - 变量 a 在给定的列表中 list 中")
else:print ("1 - 变量 a 不在给定的列表中 list 中")if ( b not in list ):print ("2 - 变量 b 不在给定的列表中 list 中")
else:print ("2 - 变量 b 在给定的列表中 list 中")

几个Python运算符相关推荐

  1. python ** 运算符_Python从入门到放弃运算符(2)

    摘要:上一篇Python从入门到放弃-运算符(1),讲了Python的运算符中的算术运算符.赋值运算符.比较(关系)运算符,这篇继续讲Python的运算符. 逻辑运算符 逻辑运算符是对真和假两种布尔值 ...

  2. python叫什么-什么叫Python运算符重载

    什么叫Python运算符重载 Python中每个数据类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于 ...

  3. python的用途-Python运算符的作用与意义

    Python运算符的作用与每个python运算符的意义 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+&qu ...

  4. python代码案例详解-Python运算符重载详解及实例代码

    Python运算符重载 Python语言提供了运算符重载功能,增强了语言的灵活性,这一点与C++有点类似又有些不同.鉴于它的特殊性,今天就来讨论一下Python运算符重载. Python语言本身提供了 ...

  5. 好好学python·运算符和流程控制

    运算符和流程控制 运算符类型 Python算术运算符 Python比较运算符 Python赋值运算符 Python位运算符 Python逻辑运算符 Python成员运算符 Python身份运算符 Py ...

  6. Python运算符可不只有加减乘除

    数学里面的加减乘除,就是运算符,但是 Python 的运算符更多样,更复杂,分为算术运算符.比较运算符.赋值运算符.位运算符.逻辑运算符.成员运算符.身份运算符.为了更直观的看到运算符的使用,本文采用 ...

  7. python 运算符 (算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级)(与或非)(异或)

    参考文章:Python 运算符

  8. python运算符括号_Python合集之Python运算符(四)

    在上一节的合集中,我们了解了Python运算符中的位运算符的相关知识,本节我们将进一步了解一下Python运算符中运算符的优先级级基础的输入输出语法的相关知识. Python运算符的运算规则是:优先级 ...

  9. Python运算符和编码

    Python运算符和编码 一.格式化输出 现在有以下需求,让⽤户输入name, age, job,hobby 然后输出如下所⽰: ----------info of dogfa---------- n ...

  10. python零基础学习教程之Python 运算符

    什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 .例子中,4 和 5 被称为操作数,"+" 称为运算符. Python语言支持以下类型的运算符 ...

最新文章

  1. 管理分布式session的四种方式。
  2. mysql.zip要什么下载_mysql用zip安装方法是什么
  3. 玩转VIM编辑器-vim附加特性
  4. c语言修改elf文件crc32,ELF文件中调试信息的格式说明?
  5. 前端学习(1651):前端系列实战课程之json和字符串互转
  6. asp.net基础知识
  7. tomcat开发远程调试端口以及利用eclipse进行远程调试
  8. linux实现文本方式与图形方式的转换_Linux下的6款最好用的PDF文档阅览工具
  9. “OneNMP”-超高性价比的实用网管工具
  10. 威纶通触摸屏部分元件下载后不显示且编辑时无法选择
  11. JSON数据转EXCEL
  12. html制作频谱,HTML5 WebAudioAPI(三)--绘制频谱图
  13. 债券收益率预测模型_基于时间序列模型的可转换债券收益率的实证研究
  14. 每年10万被动收入目标分解 | 进击
  15. 关于RSA共模攻击e1,e2不互素的解法
  16. hibernate HQL 使用from (select ……)子查询的方法
  17. 算法导论------递归算法的时间复杂度求解
  18. 有趣的灵魂千篇一律,电脑滑动关机,仅需2步
  19. 浅谈Wi-Fi渗透--原理篇
  20. 如何查看Navicat已保存数据库连接的密码

热门文章

  1. 4.Eclipse的安装和使用
  2. 【数学与算法】曲线上各点的曲率kappa和倾角theta
  3. MySQL的limit用法和分页查询的性能分析及优化
  4. Java动态代理类使用
  5. Java 容器集合框架概览
  6. Python、Lua和Ruby比较——脚本语言大P.K.
  7. 自定义DataSet
  8. 我的2018年终总结
  9. 轻松搞定RocketMQ入门
  10. Android热补丁之Robust(三)坑和解