美文网首页
is和==的区别

is和==的区别

作者: 小学弟_ | 来源:发表于2018-07-13 15:51 被阅读0次

is 和 == 的区别

id()官网描述

def id(*args, **kwargs): # real signature unknown

    """

    Return the identity of an object.

    This is guaranteed to be unique among simultaneously existing objects.

    (CPython uses the object's memory address.)

    """

    pass

  这个id()和is有什么关系呢。

  注意:is比较的就是id()计算出来的结果。由于id侍帮助我们查看某数据对象的内存地址。

  那么is比较的就是数据(对象的内存地址)。

  最终我们通过is可以查看两个变量使用的是否是同一个对象。

  == 双等表示的是判断是否相等。

  注意:这个双等比较的的是具体的值,而不是内存地址。

  例子:

  s1 = "哈哈"

s2 = "哈哈"

print(s1 == s2) # True

print(s1 is s2) # True 原因是有缓存的存在 导致两个变量量指向的是同⼀一个对象

l1 = [1, 2, 3]

l2 = [1, 2, 3]

print(l1 == l2) # True, 值是⼀一样的 print(l1 is l2) # False, 值是假的

相关文章

  • &和&&,| 和 || 的区别

    &不管前面的条件是否正确,后面都执行 &&前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好。 ...

  • &和&&, |和||的区别

    &和&&的含义一样, 表示逻辑与(and), 只有第一个表达式和第二个表达式都为 true 时, 整个运算结果才为...

  • &&和&,|和||的区别

    1 &&和&的区别 1 单&时,无论左边真假,右边都会进行计算 2 双&&时,只有左边为真时,右边才会进行计算,左...

  • null 和 undefined 的区别 ==和===的区别

    1.null 和 undefined 的区别 undefined 为变量未定义的值undefined表示"缺少值"...

  • is和 == 的区别

    为什么有时写代码 is 和 == 的结果相同,有的不相同呢? 分析: 官方文档中说 is 表示的是对象标示符(ob...

  • is和==的区别

    is 和 == 的区别 id()官网描述 def id(*args, **kwargs): # real sign...

  • *和**的区别

    **两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16 一个乘号*,如果操作数是两个数字,就是这两个数...

  • ${}和#{}的区别

    ${} 注入什么就是什么,且如果是简单类型的值需要用 value 来接收#{} 将传入的数据都当成一个字符串,会对...

  • is和==的区别

    is 是比较两个引用是否指向了同一个对象(引用比较)。 == 是比较两个对象是否相等。

  • .和..的区别

    .指的是当前目录; ..指的是上级目录; cd .. 进入上级目录 open ..打开上级目录; cd .进入本级...

网友评论

      本文标题:is和==的区别

      本文链接:https://www.haomeiwen.com/subject/aqfspftx.html