Python中is和 的區別

2022-03-04 16:06:36 字數 1711 閱讀 6048

==比較操作符:用來比較兩個物件值是否相等。 (見例1)

is同一性運算子:比較兩個物件的id值是否相等,即是否是同一物件,是否指向同乙個記憶體位址。(見例2)

補充:當兩個物件值相同時,只有其為數值型或字串型,a is b才為true,當a和b是tuple,list,dict或set型時,a is b為false 。(見例3)

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

例1.

>>> a = 'cheesezh'

>>> b = 'cheesezh'

>>> a == b

true

例2.

>>> x = y = [4,5,6]

>>> z = [4,5,6]

>>> x ==y

true

>>> x ==z

true

>>> x is

ytrue

>>> x is

zfalse

>>>

>>> print(

id(x))

3075326572

>>> print(

id(y))

3075326572

>>> print(

id(z))

3075328140

例3.

>>> a = 1 # 

a和b為數值型別

>>> b = 1

>>> a is

btrue

>>>id(a)

14318944

>>>id(b)

14318944

>>> a = '

cheesezh'#

a和b為字串型別

>>> b = '

cheesezh

'>>> a is

btrue

>>>id(a)

42111872

>>>id(b)

42111872

>>> a = (1,2,3) #

a和b為元組型別

>>> b = (1,2,3)

>>> a is

bfalse

>>>id(a)

15001280

>>>id(b)

14790408

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

a和b為list型別

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

>>> a is

bfalse

>>>id(a)

42091624

>>>id(b)

42082016

>>> a = #

a和b為dict型別

>>> b =

>>> a is

bfalse

>>>id(a)

42101616

>>>id(b)

42098736

>>> a = set([1,2,3])#

a和b為set型別

>>> b = set([1,2,3])

>>> a is

bfalse

>>>id(a)

14819976

>>>id(b)

14822256

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 方法,本質上兩個變...