- is , is not 对比的是两个变量的内存地址
- == , != 对比的是两个变量的值
- 比较两个变量,指向的都是地址不可变的类型(str等),那么 is , is not 和 == , != 是完全等价的。
- 对比的两个变量,指向的是地址可变的类型(list , dict , tuple等),则两者是有区别的。
a = ["hello"]
b = ["hello"]
print(a is b, a == b) # False True
print(a is not b, a != b) # True False