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中的数据类型分为 基本数据类型和 引用数据类型.
如果使用 == 比较基本数据类型,此时比较的 两者数据是否相同.
如果使用 == 比较引用数据类型,那么比较的就是两者引用是否指向了同一块内存地址
网友评论