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

溫馨提示×

溫馨提示×

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

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

python中如何比較對象是否相等

發布時間:2020-12-07 11:44:34 來源:億速云 閱讀:1135 作者:小新 欄目:編程語言

這篇文章主要介紹了python中如何比較對象是否相等,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

我們在比較數目是否相等的時候,可以選擇一些不同的方法來驗證結果。在python中判斷對象的相等就不是這么簡單,因為也許是判斷一個值,也是是判斷一個類別,并不是我們在數學中針對于數量的判斷。下面小編就為大家講解兩個判斷對象的方法,以及在判斷對象的區別上有什么不同。

a = [1, 2, 3]
b = [1, 2, 3]
print(a is b)
print(a == b)

大家可以先猜猜結果是什么。我之前說了python的變量就是個便利貼,\[1, 2, 3\]都是直接賦值給兩個變量,也就是說生成了兩個對象,所以a,b指向的對象不一樣。所以結果出來了,**第一個是False,第二個是True**。為什么呢?因為is比較的是對象相同不相同,但是==比較的是值相同不相同。如果打印兩個id值的話,顯然是不同的。

print(id(a), id(b))# 結果1735698385160 1735679028936

在用==進行判斷的時候實際是調用魔法函數__eq__()來判斷他們的值是否相等的。

總的來說,我們在判斷是否是同一個對象的時候就用is,不要用==,所以在判斷該對象是什么類型的時候建議用is或者直接用isinstance()這個方法。

class Person():
   pass
p = Person()
print(type(p) is Person)  # 結果 True
  • == 是比較兩個對象的「內容」是否相等,即兩個對象的“值“”是否相等,不管兩者在內存中的引用地址是否一樣。

  • is 比較的是兩個實例對象是不是完全相同,它們是不是同一個對象,占用的內存地址是否相同。即is比較兩個條件:1.內容相同。2.「內存中地址」相同。

  • 使用is注意python對于小整數使用對象池存儲問題,和字符串的intern機制存儲問題,并且命令行運行和Pycharm運行有點不一樣,因為Pycharm對解釋器進行了優化。

感謝你能夠認真閱讀完這篇文章,希望小編分享python中如何比較對象是否相等內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

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

AI

株洲市| 原平市| 苍溪县| 宾阳县| 建宁县| 朝阳市| 开阳县| 长治市| 万载县| 普安县| 台南县| 蓬莱市| 湛江市| 马公市| 油尖旺区| 逊克县| 邵武市| 静宁县| 司法| 甘孜县| 昔阳县| 威宁| 临夏市| 武定县| 东山县| 临泽县| 水富县| 扬州市| 五家渠市| 曲靖市| 河北区| 比如县| 承德县| 保靖县| 遵化市| 沂源县| 晴隆县| 固原市| 大同市| 合肥市| 静安区|