Python中is和 的區別

2021-09-29 16:50:15 字數 2287 閱讀 6183

python中有很多運算子,今天我們就來講講is和==兩種運算子在應用上的本質區別是什麼。

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

==是python標準操作符中的比較操作符,用來比較判斷兩個物件的value(值)是否相等,而is是用來比較判斷兩個物件的id(身份標識)是否相等。例如下面的比較:

1、整數比較

a = 257633

b = 257633

print(id(a))

print(id(b))

print(a is b)

e:\anaconda3\envs\env_opencv\python.exe e:/desktop/opencv/opencv_book_codes/1.py

2276735280016

2276735280016

true

process finished with exit code 0

2、浮點數比較

a = 257633.908

b = 257633.908

print(id(a))

print(id(b))

print(a is b)

e:\anaconda3\envs\env_opencv\python.exe e:/desktop/opencv/opencv_book_codes/1.py

1788197364656

1788197364656

true

process finished with exit code 0

3、字串比較

a = "helloworld"

b = "helloworld"

print(id(a))

print(id(b))

print(a is b)

e:\anaconda3\envs\env_opencv\python.exe e:/desktop/opencv/opencv_book_codes/1.py

2490980516784

2490980516784

true

process finished with exit code 0

4、元組比較

a = (1, 2, 3)

b = (1, 2, 3)

print(id(a))

print(id(b))

print(a is b)

e:\anaconda3\envs\env_opencv\python.exe e:/desktop/opencv/opencv_book_codes/1.py

1217654659416

1217654659416

true

process finished with exit code 0

5、列表比較 

a = [1, 2, 3]

b = [1, 2, 3]

print(id(a))

print(id(b))

print(a is b)

print(a == b)

e:\anaconda3\envs\env_opencv\python.exe e:/desktop/opencv/opencv_book_codes/1.py

2293379322312

2293379322824

false

true

process finished with exit code 0

6、字典比較

a = 

b =

print(id(a))

print(id(b))

print(a is b)

print(a == b)

e:\anaconda3\envs\env_opencv\python.exe e:/desktop/opencv/opencv_book_codes/1.py

2160312718984

2160312816808

false

true

process finished with exit code 0

7、總結

python一切皆物件,id()可獲得物件位址(s身份標識)但是對於一些基礎的python物件python有intern機制,重複建立時不會在建立新的物件,而是直接乙個指標指向原物件。

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