學習了其他語言例如r或c之後,忽然發現python與眾不同地有兩種比較運算子,is與==,那麼這兩種運算子有什麼區別?
python中物件包含的三個基本要素:id(身份標識)、type(資料型別)、value(值)
is/is not是身份運算子,用於比較兩個例項物件的唯一身份標識,也就是id是否相同 id()函式可以檢視變數id
==/!=是比較運算子,用於比較物件的內容是否相等,也就是value
注意:>>> a = [1, 2, 3]>>> x = [1,3,4]>>> b = a
>>> b is a
true
>>> b == a
true
>>> b = a[:]
>>> b is a
false
>>> b == a
true
>>> 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中的變數無...