iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python之is与==的区别详解
  • 704
分享到

Python之is与==的区别详解

2024-04-02 19:04:59 704人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

python有两个用于相等比较的运算符,“is”和“==”(等于)。在这篇文章中,我将教你们两者之间的区别,以及通过几个简单地例子说明什么时候使用它们。 当我还是一个孩子的时候,我们

python有两个用于相等比较的运算符,“is”和“==”(等于)。在这篇文章中,我将教你们两者之间的区别,以及通过几个简单地例子说明什么时候使用它们。

当我还是一个孩子的时候,我们的邻居家有两只双胞胎猫。

这两只猫看起来看起来完全一样 - 同样的木炭毛,同样敏锐的绿眼睛。撇开一些个性怪癖,单从它们的外表根本无法区分它们。但他们确确实实是两只不同的猫,两个不同的生物,尽管它们看起来完全一样。

就如相等和相同在意思上是有差异的,理解这种差异对理解Python中的操作符“is”和“==”是很重要的。

“==”更侧重于检测相等:如果这些猫是Python对象,我们用“==”比较它们,我们会得到“两只猫是相等的”。

“is”侧重于比较相同:如果我们用“is”比较它们,我们会得到“这是两只不同的猫”。

在我把所有的东西都用猫作为类比之前,让我们来看看一些真正的Python代码。

首先,我们将创建一个新的列表对象并将其命名为a,然后定义另一个变量b指向同一列表的对象:

Python中“is”和“==”的区别

我们来看看这两个变量,我们可以看到它们指向相同的列表。

Python中“is”和“==”的区别

因为两个列表对象看起来相同,所以当我们使用“==”运算符比较它们的相等性时,我们会得到预期的结果:

图片.png

然而,这并没有告诉我们a和b是否真的指向同一个对象。当然,我们知道它们是指向同一个对象的,因为我们之前给它们分配了相同的对象,但是假设我们不知道我们会发现什么?最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

那么将两个变量用“is”操作符进行比较,这会证明两个变量是指向同一个列表对象的:

Python中“is”和“==”的区别

我们来看看当我们创建列表对象的相同副本时会发生什么,我们可以通过在现有列表上调用list来创建一个名为c的副本:

Python中“is”和“==”的区别

您将再次看到我们刚刚创建的新列表看起来与a和b指向的list对象相同:

Python中“is”和“==”的区别

这就是有趣的地方,如果我们使用“==”运算符来比较列表副本c和初始化列表a,您希望看到什么答案?

Python中“is”和“==”的区别

好吧,我希望这是您所期待的,这个结果告诉我们c和a有相同的内容,它们被Python认为是相等的,但它们是否指向同一个对象?我们来看看is操作符:

Python中“is”和“==”的区别

以上我们得到了不同的结果。Python告诉我们,c和a指向两个不同的对象,尽管它们的内容是相同的。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

所以,回顾一下,我们区分“is”和“==”用以下两个简短的定义:

  • 如果两个变量指向同一个(相同的)对象,则“is”表达式为True。
  • 如果变量所引用的对象是相等的(有相同的内容),则“==”表达式的值为True。

只要记住这个,当您需要在Python中使用is和==的时候,就会想到一对孪生的猫(狗也一样),您就会知道该用哪个了。

到此这篇关于Python之is与==的区别详解的文章就介绍到这了,更多相关Python之is与==的区别内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python之is与==的区别详解

本文链接: https://www.lsjlt.com/news/135372.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python之is与==的区别详解
    Python有两个用于相等比较的运算符,“is”和“==”(等于)。在这篇文章中,我将教你们两者之间的区别,以及通过几个简单地例子说明什么时候使用它们。 当我还是一个孩子的时候,我们...
    99+
    2024-04-02
  • Python之is与==的区别
    首先看几个例子:# -*-coding=utf-8 -*- a="Hello Python" b="Hello Python" print (a is b)    #结果是:True print (a == b)    #结果是:True ...
    99+
    2023-01-31
    区别 Python
  • Python中is与==的使用区别详解
    目录一、== 是比较两个对象的内容是否相等二、is 比较的是两个实例对象是不是完全相同三、使用is注意python对于小整数使用对象池存储问题四、使用is注意python关于字符串的...
    99+
    2024-04-02
  • python基础之//、/与%的区别详解
    目录示例代码如下:附:一分钟看懂Python中的 // 和 / 和 % 的用法区别总结“ // ” 表示整数除法,返回整数 比如 7/3 结果为2 &ldqu...
    99+
    2024-04-02
  • python之 * 与** 的区别
    1.计算方面:*表示乘法       **表示指数幂运算 2.作为函数的参数: 1)调用函数时假设有函数 def test(a, b, c) test(*args):*表示传入的参数args是一个元组,把元组中的每一个元素按照次序作为参数...
    99+
    2023-01-30
    区别 python
  • Python中“is”与“==”的使用区别
    一、功能的区别 “is”: “is”用于比较两个变量是否指向内存中的同一对象。 “==”:“==”用于比较两个变量的值是否相等。 二、使用场景的区别 “is”: “is”通常用于比较变量与单例值(如None)...
    99+
    2023-10-29
    区别 Python
  • Python中==与is的区别是什么
    这篇文章主要介绍“Python中==与is的区别是什么”,在日常操作中,相信很多人在Python中==与is的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中==与is的区别是什么”的疑...
    99+
    2023-06-16
  • 详解Python中range()与xrange()的区别
    目录前言返回类型记忆操作使用Speed前言 range() 和 xrange() 是两个函数,可用于在 Python的 for 循环中迭代一定次数。在 Python 3 中,没有 x...
    99+
    2024-04-02
  • Java之Error与Exception的区别案例详解
    首先,Error类和Exception类都是继承Throwable类 Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正...
    99+
    2024-04-02
  • Python中的type与isinstance的区别详解
    目录type()函数isinstance()函数Python中的type()函数和isinstance()函数是两个常用的类型判断函数,它们可以用来判断变量的类型,接下来让我们一起来...
    99+
    2023-05-16
    Python type isinstance
  • javascript的var与let,const之间的区别详解
    目录作为全局变量时变量提升暂时性死区块级作用域重复声明修改声明的变量(常量与变量声明)总结说到JavaScript中声明变量的几种方法也就是var、let、const了,let和co...
    99+
    2024-04-02
  • Python 列表与链表的区别详解
    目录python 列表和链表的区别列表的实现机制链表链表与列表的差异python 列表和链表的区别 python 中的 list 并不是我们传统意义上的列表,传统列表——通常也叫作链...
    99+
    2024-04-02
  • JAVA面试题之Forward与Redirect的区别详解
    前言当用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(...
    99+
    2023-05-31
    java redirect forward
  • Kotlin与Java的区别详解
    什么是Kotlin? Kotlin是一种可以在 Java 虚拟机 (JVM) 上运行的开源编程语言。该语言可以在许多平台上运行。 它是一种将面向对象编程 (OOP) 和函数式编程结合...
    99+
    2024-04-02
  • Logger.getLogger()与LogFactory.getLog()的区别详解
    Logger来自log4j自己的包。如果用Logger.getLogger,需要一个log4j的jar包,用此方式你只能依log4j: LogFactory来自common-log...
    99+
    2022-11-15
    Logger.getLogger LogFactory.getLog
  • Oracle与MySQL的区别详解
    目录什么是mysql什么是oracleMySQL的优点MySQL的缺点Oracle的优点Oracle的缺点Oracle与MySQL的区别什么是MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司...
    99+
    2023-04-14
    Oracle与MySQL的区别 Oracle与MySQL优缺点 Oracle优缺点 MySQL优缺点
  • MySQL8.0与MySQL5.7的区别详解
    目录1.隐藏索引2.用户创建,修改和授权3.设置持久化4.UTF-8编码5.通用表表达式(Common Table Expressions)6.参数变化7.性能提升8.NoSQL文档支持9.窗口函数10.其他1.隐藏索引...
    99+
    2023-01-13
    mysql8.0和mysql5.7区别 mysql8和5.7区别 mysql 8.0 5.7的区别
  • Python中 is 和 == 区别
    Python中is和==的区别,如下: 环境是在IPython做的测试 在Python中 is是一个对象标识符(object identity ),== 表示相(equality);is 是通过对象所指向的内存地址是否相等来进行判断== 则...
    99+
    2023-01-31
    区别 Python
  • 详解Python中sorted()和sort()的使用与区别
    目录sort()方法是什么如何妙用sorted() 方法总结在 Python 中,你可以使用 sorted() 方法或 sort() 方法对数据进行排序。 在本文中,我将提供 sor...
    99+
    2024-04-02
  • Python中bytes和str的区别与联系详解
    目录Bytes和Str的区别Bytes与Str间的转换读写文件的注意事项总结Bytes和Str的区别 在Python3中,字符序列有两种类型:bytes和str。bytes类型是无符...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作