位置: 编程技术 - 正文

Python中is与==判断的区别(python中的is和==的区别)

编辑:rootadmin

推荐整理分享Python中is与==判断的区别(python中的is和==的区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中is用法,python中的is和==的区别,python中==和is,python中is和=的区别,python中is用法,python中isna,python中is和is not,python中is和is not,内容如对您有帮助,希望把文章链接给更多的朋友!

在 Python 中,比较两个对象(变量)是否相等,可以用 “is” 和 “==” 操作,但它俩有什么区别?什么时候用 “is”,什么时候用 “==” ?在面试时,发现不少候选人很难把这两者完全说清楚,因此在这篇文章中,「Python之禅」将对二者进行深入浅出的对比介绍。

先举个例子

小黄最近手头非常宽裕,花重金购买了一辆 PD 特斯拉,我们暂且给这车取名叫 "小P" ,这辆车和隔壁老王家的车(车名叫 "小 王")是一模一样的,无论是型号、外表还是价格都一样,是同批次生产的。这里我们可以说 "小P" 和"小王"是两辆一模一样的、相等的( euqal ),但本质上这是两个不同的对象。有一天小君给他的爱车又取了一个网名叫 "爱驹",当我们说 "小P" 的时候其实就是在讨论 "爱驹",因为本质上两个名字指的是同一个对象,这里我们把 "小P" 和 "爱驹" 称为完全相等的( identical )。

在 Python 中,”==” 和 “is” 的区别可类比这个例子 ,前者是相等性比较,比较的是两个对象中的值是否相等,后者是一致性比较,比较的是两个对象的内存空间地址是否相同。

&#;显然,如果内存地址相同,那么他们的值肯定也是一样的,因此,如果 “is” 返回 True,那么 “==” 一定也返回 True,反之却不成立。

talk is cheap, show me the code

先创建一个列表对象,然后给它指定一个名字 a,再定义另外一个变量 b,让它指向同一个对象。

Python中is与==判断的区别(python中的is和==的区别)

a 和 b 打印的值都是相等的,因为这两个变量指向的是同一个对象,就好比给一辆车起了两个不同的名字。

理所当然, is 和 == 都返回 True。

创建一个新的对象,尽管值是一样的,但是他们本质上是两个不同的对象,处在两个不同的内存空间,因此 "is" 返回的是 False。

有且当仅比较的两个变量指向同一个对象时 "is" 才返回 True,而 "==" 最终取决于对象的 __eq__() 方法,本质上两个变量进行 "==" 比较操作调用的是对象的 __eq__() 方法。例如:

因为自定义类 Foo 的 eq 方法恒返回 True,因此它与任何对象进行 "==" 都是返回 True。而它与 None 是两个不同的对象,因此 'is' 操作返回的是 False。

最后请大家思考这段代码,为什么同样的操作会有不同的结果

总结:

如果你要比较两个值是否相同就用==,如果比较是否是同一个对象就用is.

其实python中的is比较的对象很像C语言中的指针,只有地址相同的指针才是同一个指针.

详解python调度框架APScheduler使用 最近在研究python调度框架APScheduler使用的路上,那么今天也算个学习笔记吧!#coding=utf-8"""Demonstrateshowtousethebackgroundschedulertoscheduleajobthatexecuteson3secondinterv

利用python爬取软考试题之ip自动代理 前言最近有个软件专业等级考试,以下简称软考,为了更好的复习备考,我打算抓取www.rkpass.cn网上的软考试题。首先讲述一下我爬取软考试题的故(keng

windows上安装Anaconda和python的教程详解 一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点:1、不开源,价格贵2、软件容量大。一般3G以上,高版本甚至达5G以上

标签: python中的is和==的区别

本文链接地址:https://www.jiuchutong.com/biancheng/377151.html 转载请保留说明!

上一篇:Python利用Beautiful Soup模块创建对象详解(python利用数据文件统计成绩)

下一篇:详解python调度框架APScheduler使用(python 任务 调度 管理)

  • 预算收入包括增值税吗
  • 进项税抵扣销项税怎么做账
  • 旅行社团队意识
  • 房地产开发企业预缴增值税
  • 房租物业费摊销
  • 解除合同一次性补偿金怎样算个人所得税
  • 劳动局仲裁支付的补偿怎么做账?
  • 案例分析房产税会计分录怎么写?
  • 汽车折旧年限与什么有关
  • 税控系统技术维护费
  • 地税纳税人编码是什么
  • 中国公司可以给境外公司开发票吗
  • 职工教育经费是多少
  • 无形资产软件摊销年限的最新规定2021
  • 企业的筹建期间
  • 旅行社税收
  • 金税盘初始密码忘记了怎么办
  • .车船税不在汽车保险里如何入账
  • 公司内部领用库存商品
  • 如何修复windows11无法的注册表值
  • 腾讯手游助手使命召唤怎么滑铲
  • 物流公司支付运费怎么做账
  • 分公司吸收新股怎么办
  • 长期借款和应付利息
  • 销售使用过的汽车会计分录
  • 工商年检需准备什么资料
  • thinkphp 数据库查询
  • php零基础教程
  • 城镇土地使用税纳税义务发生时间
  • 固定资产的使用寿命超过一个会计年度
  • 销售金额较大多少算较大
  • 实用工具书推荐
  • vue系列教程
  • excel if统计
  • 融资租赁设备所有权归谁
  • 个税申报需要什么资料
  • 开了红字发票申请还要做进项税转出吗
  • 规模以上企业纳税要求
  • 帝国cms灵动标签排除上一篇下一篇文章
  • 去年多计提的工资今年怎么冲
  • sql分页存储过程
  • sql server中的编程语言
  • 没有货怎么做电商
  • sqlserver怎么把数据库导出来
  • 可供出售金融资产属于什么科目
  • 代理服务费如何缴纳
  • 长期闲置机器设备评估方法
  • 去年企业所得税多计提怎么调整
  • 小规模纳税人取得普通发票可以抵扣吗
  • 进口货物发生纳税义务时间为
  • 股权转让低于净资产的税怎么算
  • 担保费能否抵扣增值税
  • 管理不善造成的存货盘亏损失计入什么科目
  • 普通发票作废如何恢复
  • 收不回来的其他应收账款如何处理?
  • oracle和sqlserver的区别
  • 在MySQL中使用STRAIGHT_JOIN的教程
  • Centos下Mysql安装图文教程
  • ubuntu下的代码编辑器
  • ubuntu /opt
  • ubuntu20.04怎么用
  • cpqa1000.exe是安全进程吗 cpqa1000进程有什么作用
  • 极限竞速中心应用程序
  • win10怎么看电池寿命
  • win1021年更新
  • linux ssh gui
  • Win10系统怎么截图快捷键
  • 简述js和jquery的关系
  • js 仿真
  • bash脚本加密
  • bootstrap 标签
  • shell脚本实现文件移动、复制等操作
  • Tasharen Fog of War v1.0战争迷雾插件的使用(含Unity5.0Bug解决)
  • python怎么写爬虫
  • javascript常见的数据类型
  • Javascript Math ceil()、floor()、round()三个函数的区别
  • 增值税发票增版增量怎么办理
  • 企业注销认缴与实缴是否还有风险
  • 税务鉴定收费标准
  • 江苏印花税申报操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设