is 与 is not 的理解

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

注意python 中id()函数是获取对象的内存地址

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

下面举个例子说下

定义2个列表a和b 如下

a = [1, 2, 3]
b = [1, 2, 3]

打印下a is b 的结果

a = [1, 2, 3]
b = [1, 2, 3]
print(a is b)  # 打印结果为False

说明列表a 和列表b 的内存地址不相同

下面在使用下is not

a = [1, 2, 3]
b = [1, 2, 3]
print(a is not b)  # 打印结果为True

-------------------------------------------------------下面是自己疑惑的知识补充----------------------------------------------------------------------------------------

看到这相比大家已经理解的is 与 is not ,这里我没有使用int 举例子,因为我发现,使用int 的时候与网上说的有些不一样的地方

比如,使用开发工具为pycharm, python 版本为3x

a = 500000
b = 500000
print(a is b)  # 打印结果为True

打印截图

很多人说int 值有范围大于256 a is b 就返回false ,但是这个50万这个值很大了吧,换是True, 百度了下有人说pycharm 对int值有优化,

那下面使用float 值在看下

a = 3.14
b = 3.14
print(a is b)  # 打印结果为True

打印结果仍然为True,按理说应该为false 来的,

下面是个人参考部分人观点认为 : python 为了性能考虑,对于值相同的不可变对象,都不会重新创建新的地址来存储对象,而对于可变对象,则会重新开辟空间

这样很很容易理解了.

python 运算符 is 与 is not 的理解相关推荐

  1. 一篇文章带你了解Python运算符重载

    回复"python"即可获赠从入门到进阶共10本电子书 今 日 鸡 汤 不堪玄鬓影,来对白头吟. 您可以根据所使用的操作数来更改Python中运算符的含义.这种做法称为运算符重载, ...

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

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

  3. Python 运算符与数据类型

    Python 运算符 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算,在Python中运算符大致可以分为7种类型:算术运算符.比较运算符.赋值运算符.逻辑运算符.位运算等,下面的例子将 ...

  4. Python 运算符及其优先级总结大全(新手必收藏)

    众所周知,在Python中运算符是非常重要的一部分,没有它们我们就不能写出栩栩如生的程序,那么它们具体有哪些类别呢?分别又有什么作用呢?优先级的情况优势怎样的呢?今天博主就带你走近Python运算符! ...

  5. Python 运算符与数据类型(2)

    Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...

  6. 一木.溪桥学Python-03: Python 运算符

    一木.溪桥 在Logic Education跟Amy学Python 12期:Python基础课 一木.溪桥学Python-03: Python 运算符 日期:2020年12月18日 学习目标: 算术. ...

  7. python运算符的分类_Python运算符有哪些类型?Python学习

    学习Python的时候,我们会遇到各种各样的内容,比如说运算符,近期有很多小伙伴都在问:Python运算符有哪些?运算符有哪些类型?接下来跟着小编一起来看看吧. Python运算符包括:算术运算符.关 ...

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

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

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

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

最新文章

  1. 刘光毅:频谱统一推进5G尽早商用 4G网络向5G平滑演进
  2. 测试用例设计方法_测试用例设计方法——流程分析法(场景法)
  3. oracle 12.1的那些坑
  4. linux服务器数据转发,Linux云服务器如何使用iptables做流量转发?
  5. 通用算法-sql相似度模糊匹配
  6. spring调用存储过程
  7. Eigen求解数学问题(二)
  8. Curator实现分布式锁的基本原理-构造函数
  9. 给SAP Spartacus B2B list增加用户提示信息
  10. java ioexception异常_12. Java IO: 异常处理
  11. 如何保证对象的唯一性
  12. Oracle 9i DBA Fundamentals I学习笔记(六)
  13. 干货!flask登录注册token验证接口开发详解
  14. python高手养成_Python用PyQt5制作颜色对话框,PyQt图形界面编程之QColorDialog
  15. 2019写给对象的话_数组方法写给女友的一系列 JS 数组操作(建议收藏 | 内附思维导图)...
  16. eclipse连接MySQL,进行增删改查
  17. 手机短信注册页面h5css3+html5模板
  18. 分枝定界法,例题梳理
  19. 计算机u盘设备无法启动不了怎么办,U盘无法弹出说正在占用怎么办?Windows无法停止设备解决方法...
  20. 【正点原子FPGA连载】第三十三章环境光传感器实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

热门文章

  1. 【Kaggle Learn】Python 5-8
  2. 计算机如何表示色彩?
  3. Mysql函数group_concat、find_in_set 多值分隔字符字段进行数据库字段值翻译
  4. python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...
  5. 关键任务应用程序依赖于故障保护存储器
  6. 2021年大数据环境命令(一):常用命令汇总
  7. Laravel中Redis的配置和使用
  8. cad沿线插入块 lisp_CAD制图软件中如何快速绘制推拉窗平面简图
  9. python 内置函数map的使用
  10. python 正则表达质 re.sub() 的使用