天天看點

python中 == 和 is 的差別

在講== 和 is 這兩種運算符差別之前,首先要知道Python中對象包含的三個基本要素,分别是:id(身份辨別)、type(資料類型)和value(值)。其中id用來唯一辨別一個對象,type辨別對象的類型,value是對象的值。

== 和 is 都是對對象進行比較判斷作用的,但對對象比較判斷的内容并不相同。

== 是python标準操作符中的比較操作符,用來比較判斷兩個對象的value(值)是否相等。

is 也被叫做同一性運算符,這個運算符比較判斷的是對象間的唯一身份辨別,也就是id是否相同。

python中 == 和 is 的差別

執行c = a,再次輸出a,b,c的 id ,發現a的 id 和 c 的 id 相同,也就是a 和 的位址空間指向同一個 id 位址空間。

python中 == 和 is 的差別

由此可以知道,雖然a 清單和b清單相同,但是它們僅僅是清單元素相同,位址空間并不相同,而c = a 也就是讓c的位址空間也指向a,所有a ,c的 id 相同。

最後,附上一題。

python中 == 和 is 的差別