==用来检查两个对象是否相等,而is用来判断两个对象是否是同一个对象。
x = y = [1, 2, 3] z = [1, 2, 3] x == y #True x == z #True x is y #True x is z #False
原因:变量x和y指向的是同一个列表,z则指向另外一个列表。虽然两个列表中的值及其顺序均相等,但两个列表并非同一个对象。
参考:《Python基础教程》(第三版)(Beginning Python From Novice to Professional), 5.4.6 更复杂的条件。
原文:https://www.cnblogs.com/r0xFED/p/11278696.html