is 和 == 的區別 id()官網描述 def id(*args, **kwargs): # real signature unknown """ Return the identity of an object. This is guaranteed to be unique among simultaneously existing objects. (CPython uses the object's memory address.) """ pass
這個id()和is有什麼關係呢。 注意:is比較的就是id()計算出來的結果。因爲id侍幫助咱們查看某數據對象的內存地址。 那麼is比較的就是數據(對象的內存地址)。 最終咱們經過is能夠查看兩個變量使用的是不是同一個對象。 == 雙等表示的是判斷是否相等。 注意:這個雙等比較的的是具體的值,而不是內存地址。 例子: s1 = "哈哈" s2 = "哈哈" print(s1 == s2) # True print(s1 is s2) # True 兩個具備非重疊壽命的對象可能具備 相同的id l1 = [1, 2, 3] l2 = [1, 2, 3] print(l1 == l2) # True, 值是⼀同樣的 print(l1 is l2) # False, 值是假的