python 中 is, is not ,==, != 的區別

wxtRelax發表於2020-12-10

首先說結論:

1、is, is not 對比的是兩個變數的記憶體地址

2、==,!= 對比的是兩個變數的值

由此可以進一步推出:

a、假如比較的兩個變數,指向的都是地址不可變的型別(str等),那麼is,is not 和 ==,!= 是完全等價的。

b、假如對比的兩個變數,指向的是地址可變的型別(list,dict,tuple等),則兩者是有區別的。

a=["hello"]
b=["hello"]
print(a is b, a==b) # 輸出為 False, True

相關文章