python中的相等如何表示,python中所有数值都可以准确比较是否相等

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: