您好,登錄后才能下訂單哦!
python中比較運算符表示什么意思?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
比較運算符,也成關(guān)系運算符,用于對常量、變量或表達式的結(jié)果進行大小、真假等比較,如果比較結(jié)果為真,則返回 True;反之,則返回 False。Python 支持的比較運算符如下圖所示
下面程序示范了比較運算符的基本用法:
>>> print("5是否大于 4:", 5 > 4) 5是否大于 4: True >>> print("3的4次方是否大于等于90.0:", 3 ** 4 >= 90) 3的4次方是否大于等于90.0: False >>> print("20是否大于等于20.0:", 20 >= 20.0) 20是否大于等于20.0: True >>> print("5和5.0是否相等:", 5 == 5.0) 5和5.0是否相等: True >>> print("True和False是否相等:", True == False) True和False是否相等: False >>>
比較運算符 == 和 is 的區(qū)別
初學(xué) Python,大家可能對 is 比較陌生,很多人會誤將它和 == 的功能混為一談,但其實 is 與 == 有本質(zhì)上的區(qū)別,完全不是一碼事兒。
== 用來比較兩個變量的值是否相等,而 is 則用來比對兩個變量引用的是否是同一個對象,例如:
import time # 獲取當(dāng)前時間 a = time.gmtime() b = time.gmtime() print(a == b) # a和b兩個時間相等,輸出True print(a is b) # a和b不是同一個對象,輸出False
上面代碼中 a、b 兩個變量都代表當(dāng)前系統(tǒng)時間,因此 a、b 兩個變量的時間值是相等的(代碼運行速度很快,能保證是同一時間),故程序使用“==”判斷返回 True。但由于 a、b 兩個變量分別引用不同的對象(每次調(diào)用 gmtime() 函數(shù)都返回不同的對象),因此a is b返回 False。
那么,如何判斷兩個變量是否屬于一個對象呢?Python 提供了一個全局的 id() 函數(shù),它可以用來判斷變量所引用的對象的內(nèi)存地址(相當(dāng)于對象在計算機內(nèi)存中存儲位置的門牌號),如果兩個對象所在的內(nèi)存地址相同(相當(dāng)于它們住在同一個房間內(nèi),計算機同一塊內(nèi)存在任一時刻只能存放一個對象),則說明這兩個對象其實是同一個對象。
由此可見,is 判斷其實就是要求通過 id() 函數(shù)計算兩個對象時返回相同的地址。例如,使用 id() 函數(shù)判斷上面的 a、b 兩個變量:
print(id(a)) print(id(b))
從運行結(jié)果中將會看到 a、b 兩個變量所引用的對象的內(nèi)存地址是不同的,這樣通過 is 來判斷 a、b 兩個變量自然也就輸出 False 了。
再舉一個例子:
>>> a = 'cheesezh' >>> b = 'cheesezh' >>> id(a) 2680257978480 >>> id(b) 2680257978480 >>> a is b True
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。