python中的==和is
来源:互联网 发布:dnf校园网打团网络冲突 编辑:程序博客网 时间:2024/06/06 08:39
>>> x = y = [1,2,3]
>>> z = [1,2,3]
>>> x ==y
True
>>> x == z
True
>>> x is y
True
>>> x is z
False
最后一个语句x is z,结果是false.x和z相等,但是不等同。为什么?
因为:is运算符是判定同一性而不是相等性的。变量x和y是被绑定到同一列表上,而z被绑定到另外一个相同数值和顺序的列表上。他们的值可能相同,但是不是同一个对象。
总结:使用==运算符判定两个对象是否相等,使用is判定两者是否等同(同一个对象)。
警告:避免将is运算符用于比较数值和字符串这类不可变值。由于python内部操作这些对象的原因,使用is运算符的结果是不可预测的。
0 0
- python中的is、==和cmp()
- python中的==和is
- python中的is和==
- 详解Python中的is和==
- python中的is、==和cmp()比较字符串
- Python:== 和 is
- python is 和==
- python ==和is
- Python 中的 is 和 id
- Python 中的 is 和 id
- 浅谈python中的“ ==” 与“ is”
- python 中的is / is not / == / !=
- Python中的比较运算符,要特别注意的是 == 和 is 的区别
- python is 和==的区别
- Python is和==区别
- python题目-----is和==区别
- python is 和 ==的不同
- python中is和==
- mfc 在原有的按钮上添加位图
- mysql 复制原理图
- commit &rollback
- 安卓工程如何正确导入第三方jar (1) ---问题原因
- UI效果
- python中的==和is
- 【Android】【Framework】AndroidFramework之ContextImpl
- 注册操作
- NSData
- 粗谈MVC
- iOS进程间通信之CFMessagePort
- 【数据结构】排序
- Google API相关
- 泛型