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