python中是和==号的区别是什么

  介绍

小编给大家分享一下python中是和==号的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

,在python中一切都是对象.Python中对象包含的三个基本要素,分别是:id(身份标识),类型(数据类型),值(值),对象之间比较是否相等可以用==,也可以用是再造和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。

是比较的是两个对象的id值是否相等,也就是比较两个对象是否为同一个实例对象,是否指向同一个内存地址。

==比较的是两个对象的内容是否相等,默认会调用对象的__eq__方法。

==是python标准操作符中的比较操作符,用来比较判断两个对象的值是否相等。

先来看一个例子

在祝辞祝辞=(1、2、3)   在在在b=一个   在在在b是一个   真正的   在在在b==真正的   在在在b=[:]   在在在b是一个   假   在在在b==真正的

也被叫做同一性运算符,也就是id是否相同。

看下面代码,a和b变量的id不同,所以b==是真的,b是一个是假的。

再来看一下他们的id:

在祝辞祝辞id(一个)   4364243328   在在在   在在在id (b)   4364202696

哪些情况下和==结果是完全相同的?

在祝辞祝辞一个=256   在在在b=256   在在在a是b   真正的   在在在a==真正的   在在在一个=1000   在在在b=10 * * 3   在在在a==真正的   在在在a是b   假   祝辞祝辞祝辞

所以数字类型不完全相同。

那为什么256时相同,而1000时不同呢?

因为出于对性能的考虑,Python内部做了很多的优化工作,对于整数对象,Python把一些频繁使用的整数对象缓存起来,保存到一个叫small_ints的链表中,在Python的整个生命周期内,任何需要引用这些整数对象的地方,都不再重新创建新的对象,而是直接引用缓存中的对象。

Python把这些可能频繁使用的整数对象规定在范围(256)之间的小对象放在small_ints中,但凡是需要用些小整数时,就从这里面取,不再去临时创建新的对象。

在祝辞祝辞c=& # 39; miracle.young& # 39;   在在在d=& # 39; miracle.young& # 39;   在在在c d   假   在在在c==d   真正的   在在在c=& # 39; miracleyoung& # 39;   在在在d=& # 39; miracleyoung& # 39;   在在在c c   真正的   在在在c==d   真正的

所以字符串类型不完全相同,这个和解释器实现有关。

在祝辞祝辞=(1、2、3)# a和b为元组类型   在在在b=(1、2、3)   在在在a是b   假   在在在(1、2、3)=# a和b为列表类型   在在在b=(1、2、3)   在在在a是b   假   在在在a={& # 39;奇迹# 39;:100 & # 39;年轻# 39;:1}# a和b为dict类型   在在在b={& # 39;奇迹# 39;:100 & # 39;年轻# 39;:1}   在在在a是b   假   在在在一套=([1,2,3])#一组和b为类型   在在在b=集([1,2,3])   在在在a是b   假

所以当变量是数字,字符串,元组,列表,字典时,是和==都不相同,不能互换使用!当比较值时,要使用==,比较是否是同一个内存地址时应该使用。

以上是python中是和==号的区别是什么的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

python中是和==号的区别是什么