程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Java和Python中判斷對象是否相等的異同

編輯:Python
Java和Python中判斷對象是否相等的異同
Java中
對於基本類型來說equals和==都只是判斷的是值是否相同;
整數型:byte,short,int,long;
浮點型:float,double
布爾型:boolean
字符型:char
對於對象類型分兩種情況:
a. String類型(由於String類重寫了equals方法;此時equals比較的是值是否相等,==表示的是地址是否相等):
b.其他的類型(前提是也沒有重寫equals方法,此時:==和equals方法都是比較的兩者的地址是否相同)
Pyhon中
Python判斷對象是否相等(== 和 is)
Python中的對象包含三個基本要素,分別是:
id:用來唯一標識一個對象,可以理解為內存地址;
type:標識對象的類型;
value:對象的值;
== :比較兩個對象的內容是否相等,即兩個對象的 value 是否相等,無論 id 是否相等,默認會調用對象的 __eq__()方法
is: 比較的是兩個對象是不是完全相同,即他們的 id要相等。id()可以獲取對象的內存地址
也就是說如果 a is b 為 True,那麼 a == b 也為True
換言之,Python中is是比較id(內存地址)相等,==是比較值相等(也就是判斷兩個對象是否指向了同一塊內存區域)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved