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

== 与is 的区别

作者: coke613 | 来源:发表于2018-11-05 10:24 被阅读0次

    Python中 "==" 比较的是两个对象是否相等,而 is 比较的是两个引用是否指向了同一个对象.

    a = [11,22,33]
    b = [11,22,33]
    
    
    print(" ==  运算符比较-----------------")
    print(a == b)
    
    print("a 的地址值%s"%id(a))
    print("b 的地址值%s"%id(b))
    
    print(" is 运算符比较------------------")
    print(a is b)
    
    
    c = a
    
    print("c 的地址值%s"%id(c))
    print(a is c)
    

    运行结果:

     ==  运算符比较-----------------
    True
    a 的地址值4297584512
    b 的地址值4297686552
     is 运算符比较------------------
    False
    c 的地址值4297584512
    True
    

    与Java中的 == 有点相反:
    Java中的数据类型分为 基本数据类型和 引用数据类型.
    如果使用 == 比较基本数据类型,此时比较的 两者数据是否相同.
    如果使用 == 比较引用数据类型,那么比较的就是两者引用是否指向了同一块内存地址

    相关文章

      网友评论

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

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