美文网首页
== 与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