91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python運算符中怎么選擇is和==

發布時間:2020-12-14 09:42:08 來源:億速云 閱讀:183 作者:小新 欄目:編程語言

這篇文章主要介紹python運算符中怎么選擇is和==,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

我們在數學中想要判斷兩個對象是否相等,可以使用=號。在python中由于比較的數據不一定是數值,所以我們的符號有is和==可以選擇。那么在不同的條件下,選擇is還是==是有所不同的。下面我們在身份運算符中尋找is和==在判斷對象引用上的區別,幫助大家在使用身份運算符時能更好的選擇,具體內容如下:

身份運算符是用來判斷兩個變量是否是引用了相同內存地址的運算符。

兩個變量的值相等,它們不一定就是引用了相同的內存地址,但如果兩個變量引用了相同的內存地址,那么他們的值必然相等。

身份運算符說白了其實就是is符號。它可以用來比較兩個變量是否引用了同一個對象。

>>> a = 3
>>> id(a)
140602638349720
>>> hex(id(a)) # 還原成我們看著更順眼的16進制,但是本文以10進制地址為主(因為懶)
'0x7fe09a503598'

顧名思義,is是“相同”,而==是指兩者之間的”相等“關系。所謂相同,比較的是兩者之間的在內存中的位置,

>>> a = 3
>>> id(a)
140602638349720
>>> b = 3 # b指向的是和a指向的同一塊地址(但是并不意味這改變了a,b也會相應改變)
>>> id(b)
140602638349720
>>> c = a # a的引用復制給c,在內存中其實是指向了用一個對象
>>> id(c)
140602638349720
>>> a is b
True
>>> a is c
True
>>> b is c
True

我們看到,上面a,b,c的地址相同,所以他們互相之間”相同“

而相等則兩者之間的數值對應相等

>>> a = 3
>>> b = a
>>> a = 4
>>> b
3
 
>>> a = [3]
>>> b = [3]
>>> id(a)
4351374184
>>> id(b)
4351374112
>>> a is b
False 
>>> a == b
True
>>> a[0] = 4
>>> b
[3]
 
>>> a = [3]
>>> b = a  # b就是a的引用,占得是同一塊地址,而且當a的內容改變時,b也會隨之改變,這和上面
# int對象不同,我也不知道為啥要這么搞。
>>> a[0] = 4 
>>> b
[4]

很多人看到這肯定是一鍋漿糊了,其實就是一個原則,能用==就不用is。除了一種情況,那就是判斷對象是否是None。

>>> if a is None:
...     pass

以上是“python運算符中怎么選擇is和==”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武胜县| 龙海市| 泸溪县| 兰溪市| 靖安县| 樟树市| 财经| 修文县| 正阳县| 卢湾区| 黔东| 婺源县| 潼南县| 和林格尔县| 武平县| 怀来县| 平原县| 双桥区| 红桥区| 丰城市| 嘉祥县| 恩平市| 凤凰县| 洪雅县| 红原县| 普安县| 綦江县| 当阳市| 邓州市| 潞城市| 刚察县| 行唐县| 龙州县| 肥东县| 台湾省| 惠州市| 德庆县| 东丽区| 沈丘县| 象山县| 广州市|