這個問題在這里已經有了答案: Python 中的鏈式比較實際上是如何作業的? (1 個回答) Python比較運算子從左到右鏈接/分組? (2 個回答) 1 小時前關閉。
有人可以告訴我為什么5 <= -15 == 5 >= 1 != 20是False。
因為當我試圖解決它時,我做了以下事情:
i) <= , >= 具有更高的優先級,因此它變為 False == True != 20
ii) ==,!= 具有相同的優先級,因此基于關聯性,即從左到右變為 False != 20
iii)最后,答案是 True
但是,當我在 python 解釋器中嘗試相同時,它回傳了 False
我想了解為什么會這樣?提前致謝。
uj5u.com熱心網友回復:
Python 的運算子優先級在此處記錄。與您聲稱的相反,所有這些比較運算子都具有相同的優先級。
通常,人們會期待關聯性來優先處理關系。但是比較運算子是特殊的。Python 支持鏈接。這意味著
x relop1 y relop2 z
簡稱
x relop1 y and y relop2 z
(除了y只評估一次。)
所以,
5 <= -15 == 5 >= 1 != 20
= ( 5 <= -15 ) and ( -15 == 5 ) and ( 5 >= 1 ) and ( 1 != 20 )
= False and False and True and True
= False
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/415227.html
標籤:
上一篇:如何確定序列是否在整數串列中?
下一篇:Julia代碼中的記憶體分配問題
