python中的相等如何表示,python中所有数值都可以准确比较是否相等
当我们比较数字是否相等时,可以选择一些不同的方法来验证结果。在python中判断对象的相等性不是那么简单,因为可能是判断一个值,也可能是判断一个类别,这不是我们在数学中对量的判断。下面小编来解释一下这两种判断物体的方法以及它们之间的区别。
a=[1,2,3]
b=[1,2,3]
印刷(aisb)
Print(a==b)你可以先猜猜结果是什么。我之前说过,python的变量是便签。[1,2,3]都是直接赋给两个变量的,也就是说生成了两个对象,所以A和B指向的对象是不一样的。于是结果出来了,**第一个是假的,第二个是真的* *。为什么?因为is比较的是相同的对象,而==比较的是相同的值。如果打印两个id值,它们显然是不同的。
Print(id(a),id(b))# Result 17356983851601735679028936用==判断时,实际上调用了神奇的函数__eq__()来判断它们的值是否相等。
一般来说,判断是否是同一对象时我们用的是is而不是==所以在判断对象是什么类型时建议直接用is或者isinstance()。
classPerson():
及格
p=人()
Print(type(p)isPerson)#结果为真
总结:
==是比较两个对象的“内容”是否相等,即两个对象的“值”是否相等,而不管它们在内存中的引用地址是否相同。
Is比较两个实例对象是否相同,是否是同一个对象,是否占用同一个内存地址。比较两个条件:1。内容是一样的。2.“内存中的地址”也是一样。
用is注意python用对象池存储小整数的问题,用intern机制存储字符串的问题,命令行运行和Pycharm运行有点区别,因为Pycharm优化了解释器。
python中None值的比较:使用is
这些是我们在python中用来判断相等的is和==的。它们的名字简单好记,用法也不难,但是需要我们的朋友在学习的时候加以区分和理解。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。