Python中is和==的区别,你真的掌握了吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计260个文字,预计阅读时间需要2分钟。
许多人在使用Python时将 `is` 和 `==` 等价使用,但实际上它们有本质的区别:
1. `is` 用于检查两个对象的内存地址是否相同,即它们是否是同一个对象。
2.`==` 用于比较两个对象的值是否相等。
代码示例:
有很多人将 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指向对象本身,而==只针对对象的值
本文共计260个文字,预计阅读时间需要2分钟。
许多人在使用Python时将 `is` 和 `==` 等价使用,但实际上它们有本质的区别:
1. `is` 用于检查两个对象的内存地址是否相同,即它们是否是同一个对象。
2.`==` 用于比较两个对象的值是否相等。
代码示例:
有很多人将 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指向对象本身,而==只针对对象的值

