python中is與 的比較

2021-09-02 00:20:36 字數 596 閱讀 3375

學習了其他語言例如r或c之後,忽然發現python與眾不同地有兩種比較運算子,is與==,那麼這兩種運算子有什麼區別?

python中物件包含的三個基本要素:id(身份標識)、type(資料型別)、value(值)

is/is not是身份運算子,用於比較兩個例項物件的唯一身份標識,也就是id是否相同  id()函式可以檢視變數id

==/!=是比較運算子,用於比較物件的內容是否相等,也就是value

>>> a = [1, 2, 3]

>>> b = a

>>> b is a

true

>>> b == a

true

>>> b = a[:]

>>> b is a

false

>>> b == a

true

>>> x = [1,3,4]

>>> y = [1,3,4]

>>> x is y

false

注意:

在判斷乙個值是否為true/false時,最好用is,而不是==,因為這樣可以避免一次定址,不過基本沒什麼太大的區別

python中的 is 與 比較

在 python 中會用到物件之間比較,可以用 也可以用 is 但是它們的區別是什麼呢?可以通過如下例子來區分比較下 a i love python b a a的引用複製給b,在記憶體中其實是指向了用乙個物件 b is a true id a 46381384 id b 46381384 當然,內容...

Python與Ruby的比較

轉 ruby和python的比較 http www.chinesepython.org cgi bin moingb ruby ba cdpython b5 c4 b1 c8 bd cf python和ruby的相同點 和python相比ruby的優點 python可以實現在列表內的條件語句 迴圈語...

python與C的比較

python的大致語法結構與c類似,但是又有著區別。迴圈 python的迴圈沒有了c的 取而代之的是 並且for迴圈是 x in y的形式出現,而不是三段式。退出等均和c相同,以break退出,但是python中的選擇結構中是if,elif而不是c中的if elseif。變數 python中的變數無...