python 中is和 的比較

2021-06-19 05:21:12 字數 915 閱讀 5809

python中的物件包含三要素:id、type、value

其中id用來唯一標識乙個物件,type標識物件的型別,value是物件的值

is判斷的是a物件是否就是b物件,是通過id來判斷的

==判斷的是a物件的值是否和b物件的值相等,是通過value來判斷的

python is主要是判斷2個變數是否引用的是同乙個物件,如果是的話,則返回true,否則返回false

>>> a = '123'

>>> b = '123'

>>> a == b

true

>>> a is b

true

>>>

a is b 返回true,因為變數a和b都儲存了字串'123'物件的位址。

>>> a = '123'

>>> b = '123456'

>>> a == b

false

>>> a is b

false

>>>

print a is c 返回false,因為變數a和c儲存了字串物件位址不一致。

>>> a = 1

>>> b = 1.0

>>> a is b

false

>>> a == b

true

>>> id(a)

12777000

>>> id(b)

14986000

>>> a = 1

>>> b = 1

>>> a is b

true

>>> a == b

true

>>> id(a)

12777000

>>> id(b)

12777000

python中is與 的比較

學習了其他語言例如r或c之後,忽然發現python與眾不同地有兩種比較運算子,is與 那麼這兩種運算子有什麼區別?python中物件包含的三個基本要素 id 身份標識 type 資料型別 value 值 is is not是身份運算子,用於比較兩個例項物件的唯一身份標識,也就是id是否相同 id 函...

python中nan的比較

在用numpy.sum等方法計算列表時,當列表中無目標元素,得到的為空值nan。然而不同於none,它無法用 進行判斷。nan not a number 在數學表示上表示乙個無法表示的數,這裡一般還會有另乙個表述inf,inf和nan的不同在於,inf是乙個超過浮點表示範圍的浮點數 其本質仍然是乙個...

python中的 is 與 比較

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