“is”与“==”区别
生活随笔
收集整理的這篇文章主要介紹了
“is”与“==”区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- is:用于判斷兩個(gè)變量引用對(duì)象是否為同一個(gè)
a is b 相當(dāng)于 id(a)==id(b),id() 能夠獲取對(duì)象的內(nèi)存地址。
如果 a=10;b=a; 則此時(shí) a 和 b 的內(nèi)存地址一樣的。
但當(dāng) a=[1,2,3]; 另 b=a[:] 時(shí),雖然 a 和 b 的值一樣,但內(nèi)存地址不一樣。
如果此時(shí)定義 a=10、b=10, 然后再對(duì)比 a is b 會(huì)發(fā)現(xiàn)返回的結(jié)果是 True,這是因?yàn)樵?Python 中會(huì)實(shí)現(xiàn)創(chuàng)建一個(gè)小型的整形池,范圍為 [-5,256],為這些整形開(kāi)辟好內(nèi)存空間,當(dāng)代碼中定義該范圍內(nèi)的整形時(shí),不會(huì)再重新分配內(nèi)存地址。
-
==:用于判斷引用變量的值是否相等
-
腳本模式“is”和“==”結(jié)果是一樣的。
總結(jié)
以上是生活随笔為你收集整理的“is”与“==”区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 19/100. Subtree of A
- 下一篇: 20/100. House Robber