首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python运算符is与==的区别

Python运算符is与==的区别

作者头像
Python小屋屋主
发布于 2018-04-16 09:19:58
发布于 2018-04-16 09:19:58
8790
举报
文章被收录于专栏:Python小屋Python小屋

Python中,关系运算符==用来测试两个对象的是否相等,而同一性测试运算符is用来测试两个对象是否是同一个对象,如果两个变量是同一个对象,那么它们的内存地址是一样的,当然它们的值肯定也是一样的。并且,如果两个变量是同一个列表或其他类型的可变序列,在某些操作中通过一个变量可以影响另外一个的值。

# x和y是两个不同的列表对象,只是值相等而已

>>> x = [1, 2, 3, 256, 257] >>> y = [1, 2, 3, 256, 257]

# z与y指向同一个列表 >>> z = y >>> x == y True >>> x is y False >>> x[0] is y[0] True

# 相同的对象具有一样的内存地址

>>> id(x[0]) == id(y[0]) True

# 小于256的整数会被缓存,具有内存驻留特点

# 当多个变量赋值相同的256以内整数时,值在内存中只有一份

# 但大于256的整数不会缓存 >>> x[-1] is y[-1] False

# 通过列表提供的方法修改y时,会影响z >>> y.append(258) >>> y [1, 2, 3, 256, 257, 258] >>> z [1, 2, 3, 256, 257, 258]

# 通过列表的下标操作修改y中元素的值,会影响z

>>> z[0] = 5 >>> y [5, 2, 3, 256, 257, 258] >>> z [5, 2, 3, 256, 257, 258]

# 通过+=运算符修改y,会影响z

>>> y += [259] >>> y [5, 2, 3, 256, 257, 258, 259] >>> z [5, 2, 3, 256, 257, 258, 259]

# 通过内置命令del删除列表y指定位置上的元素,会影响z

>>> del z[2] >>> y [5, 2, 256, 257, 258, 259] >>> z [5, 2, 256, 257, 258, 259]

# 现在z不再和y指向同一个对象 >>> z = [5, 2, 256, 257, 258, 259] >>> y is z False

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java学习之关系运算符
关系运算符(relational operators)也可以称为“比较运算符”,用于用来比较判断两个变量或常量的大小。
李小白是一只喵
2022/03/21
8680
Java学习之关系运算符
深入理解Java关系运算符,避免常见错误!
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2023/11/21
2830
深入理解Java关系运算符,避免常见错误!
Python基础之运算符
1 算术运算符2 位运算符3 比较运算符4 赋值运算符5 身份运算符6 成员运算符7 逻辑运算符
用户7886150
2020/11/26
6880
python常见的运算符及用法
✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:python 💬个人格言:但行好事,莫问前程 💖python中的运算符主要包括算术运算符,关系(比较)运算符,赋值运算符,逻辑运算符,成员运算符,身份运算符,三目运算符。使用运算符将不同类型的数据按照一定的规则连接起来的式子,称为表达式。下面将介绍一些常用的运算符💖 💖python运算符💖 算术运算符 关系运算符 赋值运算符 逻辑运算符 成员运算符 身份运算符 三目运
hacker707
2022/10/31
3710
python常见的运算符及用法
python学习笔记之运算符
目录 前言 软件环境 身份运算符 算术运算符 比较运算符 位移运算符 自变运算符 位运算符 逻辑运算符 成员关系运算符 Python真值表 最后 前言 在前面的博文介绍了Python的数据结构之后,接下来结合python操作符来对Python程序中的数据进行处理。操作符/运算符的使用,可简洁地表示内建类型的对象处理。主要是对程序中的数据进行逻辑操作、算术操作、比较操作等动作行为,本质是将在程序中会非常常用的程序操作封装成成类或函数后,再以字符的形式调用,使执行程序语言更加简洁和符合国际化。 软件环境 操作系
Angel_Kitty
2018/04/09
8850
Java 小白成长记 · 第 3 篇《运算符与控制流》
这是一个技术疯狂迭代的时代,各种框架层出不穷,然而底层基础才是核心竞争力。博主(小牛肉)在现有的知识基础上,以上帝视角对 Java 语言基础进行复盘,汇总《Java 小白成长记》系列,力争从 0 到 1,全文无坑。
飞天小牛肉
2021/02/26
5930
Java 小白成长记 · 第 3 篇《运算符与控制流》
10.程序编程基础4~变量&运算符
3.3 变量部分 3.4 运算符部分;主要讲解:赋值运算符、算数运算符、关系运算符、逻辑运算符、成员运算符、标识运算符
大牧莫邪
2018/08/27
4280
Python中的8种运算符
✅算术运算符是处理四则运算的符号,数字处理应用方面最多,在Python中,常用的算术运算符如下表所示
hacker707
2023/04/24
2.1K0
Python中的8种运算符
python基础之运算符(上)
  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下Python基础之算术运算符,赋值运算符,关系运算符,逻辑运算符等相关知识。
jiankang666
2022/05/13
3530
python基础之运算符(上)
【JavaSE专栏8】运算符、表达式和语句
运算符是提供计算功能的,如何编程语言都有自己的运算符,Java 语言也不例外,例如 +、-、*、/ 等。
Designer 小郑
2023/08/01
2620
【JavaSE专栏8】运算符、表达式和语句
数据类型及运算符
  3.以下关键字不能声明为变量名{'and','as','del','def','if','else','with','continue','break','exec','elif','except','class','yield','return','while',,"finally","try'',"catch"}
py3study
2020/01/20
4450
Java 运算符
+= ,-= ,*= , /= ,%= 等 , 重点讲解一个 += ,其它的使用是一个道理 a += b; [等价 a = a + b; ] a -= b; [等价 a = a-a;]
用户9615083
2022/12/25
1K0
Java 运算符
Python全网最全基础课程笔记(三)——所有运算符+运算符优先级
Python中的运算符优先级决定了在包含多个运算符的表达式中,各个运算符的执行顺序。优先级高的运算符会先于优先级低的运算符执行。以下是Python中所有运算符的优先级列表,按照从高到低的顺序排列。
小白的大数据之旅
2024/11/20
5160
Python全网最全基础课程笔记(三)——所有运算符+运算符优先级
Python(一)
本系列是个人学习 Python 的学习笔记。董付国编著的 Python 程序设计(第三版)
赤蓝紫
2023/01/01
7720
Python(一)
python变量、运算符
变量 变量就是可以重复使用的一个量,或者叫一个代号 变量命名的规则 - 变量命名可以包含数字,大小写字母,下划线或者更多,但是我们不推荐除了前三种内容之外的符号 - 数字不可以打头 - 4man,5for是不可以的 - man4,for5是可以的 - 一般在python中,以下划线开头的内容具有特殊含义,不建议使用 - 比如\_age, \_name, 理论可以,但强烈不推荐,包括但不限于一个下划线开头和两个连续下划线开头 - 大小写不一样,俗称大小写敏感 - ForMan跟
ruochen
2021/05/10
1.5K0
python变量、运算符
Java的算数运算符、关系运算符、逻辑运算符、位运算符
b=5,a=5 c=-5,a=5 d=3,l=3 f=3,m=4 g=3,n=3 h=6,o=5
慕白
2018/09/21
2.2K0
Java的算数运算符、关系运算符、逻辑运算符、位运算符
《Python完全自学教程》免费在线连载3.6
数学中的“比较”是很单纯的,就是衡量两个数字哪个大、哪个小。但是 Python 语言中,除了兼顾数学上的“比较”之外,还把事情搞得复杂了一些,且看本节揭示其复杂性。
老齐
2022/04/01
4800
《Python完全自学教程》免费在线连载3.6
py学习(数据类型和运算符)
废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:py学习(数据类型和运算符)
废江_小江
2022/09/05
5230
py学习(数据类型和运算符)
Python中is和==的区别
Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。
福贵
2018/07/25
7410
Python中is和==的区别
Go 语言学习之运算符
算术运算符有加号(+)、减号(-)、乘号(*)、除号(/)、取余(%),我们声明两个变量 a 和 b,并分别赋值 10 和 5,通过代码,我们演示算术运算符的用法。
frank.
2020/07/28
2500
相关推荐
Java学习之关系运算符
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档