网站首页 > 技术文章 正文
这节课我们讲一下is与==的区别。
is叫做身份运算,是用来比较左右两个值的身份是否相等,上节课我们讲了变量值的身份证号,也就是id号。所以is就是用来比较两个变量值的id号是否相等的。
这里注意了,一个等号=是赋值,两个等号==是比较左右变量的值是否相等。
举个例子,我们a=‘于谦’,然后b=‘于谦’。那么a和b他们两个的id号是一样的吗?结果是不一样的。但是打印出来的结果就是一样的。
小伙伴就会问,这是为什么?这不是前后矛盾了吗?
其实这是Pycharm的问题,我们可以用另一种方法来验证一下。按住win+r,输入cmd。然后输入Python。再把刚才在Pycharm的代码复制上去。回车键运行,这回运行的结果两个id号就完全不一样了。
我们前面说了==就是左右变量的值是否相等,所以我们输入a==b,运行的结果就是Ture,也就是真。
然后我们再来看is,is就是用来比较两个变量值的id号是否相等,所以我们输入a is b,运行的结果就是False,就是假。
所以说,只要是赋值操作,产生新的值的时候都会申请一块内存空间,只要申请了内存新的空间,他的内存地址就会不一样,id也会不一样。
注意这和我们之前讲的a=‘xx’,b=a,c=b不一样。这里是把a的内存地址给了b和c,并没有产生新的内存空间。所以这里的a、b、c三个的id是一样的。
在这里和大家总结一下,id不同的时候,值可能是相同的,因为不同的内存空间是可以存相同的值的但是id相同的时候,值一定是相同的。只要是判断出了a is b,是Ture。那么a一定是等于b的。
最后给小伙伴们留个小作业,在cmd界面a=10,b=10,然后打印一下他们的id是否一致!~
- 上一篇: python函数
- 下一篇: 二、Python运算符
猜你喜欢
- 2025-05-27 Python6大基础运算符,看完这篇之后会让你有一个彻底认识
- 2025-05-27 SymPy:如何用 Python 求解微积分
- 2025-05-27 Python编程术语词汇表(一)
- 2025-05-27 Python 中关于除法的三种运算符
- 2025-05-27 python类杂谈,self 到底是什么
- 2025-05-27 为什么计算机中0.1+0.2不等于0.3?
- 2025-05-27 Python基础学习笔记之运算符
- 2025-05-27 「每日一练」巧用python找出1000以内的所有完数
- 2025-05-27 Python魔法方法:__eq__方法
- 2025-05-27 什么是函数(Python
- 258℃Python短文,Python中的嵌套条件语句(六)
- 258℃python笔记:for循环嵌套。end=""的作用,图形打印
- 257℃PythonNet:实现Python与.Net代码相互调用!
- 252℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 252℃Python实现字符串小写转大写并写入文件
- 108℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 83℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)