python中is和 的區別

2022-08-27 20:00:16 字數 692 閱讀 6125

例子

1 a = "

abc"

2 b =a

3 c1 = "

abcd

"4 c = c1[:-1]

5print("

a=", a, "

b=", b, "c="

, c)

6print(a == b, a is

b, id(a), id(b))

7print(a == c, a is c, id(a), id(c))

執行結果

1 a= abc b= abc c=abc

2 true true 15638144 15638144

3 true false 15638144 54938848

分析

a, b, c的值都是"abc",但是b是直接由a賦值得到的,所以可以看到a和b的id是一樣的,也就是都指向記憶體中的同一塊區域。c是由其它方式來的,雖然值和a的一樣,但是id不一樣,也就是它們指向記憶體中的不同區域。

結論

==只是判斷兩個變數的值是否一樣,一樣則是true,否則為false。is判斷的是兩個變數的id,即是不是指向記憶體中同一塊區域,是的話則為true,否則為false。

Python中is和 的區別

python中的物件包含三要素 id type value。is判斷的是a物件是否就是b物件,是通過id來判斷的。也就是記憶體位址。其實本質就是判斷id a id b 當然也可以使用 判斷。但是必須是id a id b 而不是a b a 1,2,3 b 1,2,3 a is b false id a...

Python中「is」和「 」的區別

python有兩個用於相等比較的運算子,is 和 等於 在這篇文章中,我將帶你們了解python中 is 和 的區別,並通過幾個簡單地例子說明應該在什麼時候使用它們,我們先來看乙個情景 當我還是乙個孩子的時候,我們的鄰居家有兩隻雙胞胎貓。這兩隻貓看起來看起來完全一樣 同樣的木炭毛,同樣敏銳的綠眼睛。...

python中 is 和 的區別

python中的物件包含三要素 id type value 其中 id用來唯一標識乙個物件,type標識物件的型別,value是物件的值 is判斷的是a物件是否就是b物件,是通過id來判斷的 判斷的是a物件的值是否和b物件的值相等,是通過value來判斷的 最終取決於物件的 eq 方法,本質上兩個變...