有很多人将 python 中的 is 和 == 二者等价,但这是不对的~
1. is
is 针对的是对象的本身
2. ==
== 针对的是对象的值
3. 代码
#定义两个数值相同的列表
li1 = [1, 2, 3, 4]
li2 = [1, 2, 3, 4]
# 判断 == 号下左右两端是否相等
print(li1 == li2)
# 判断 is 逻辑符号下左右两端是否相等
print(li1 is li2)
# 打印二者存储的地址
print(id(li1), id(li2))
4.返回结果
可以看到而这指向的地址并不相同,验证了前面所说的is指向对象本身,而==只针对对象的值