2016-10-08 220 views
0
k = 10/3 
l = k <= 3 or True 

此代碼中l的值返回True。這怎麼可能?按照評估的順序,比較優先於「或非」和「運營商」。Python中的評估順序

+0

我把這個複製到這個問題http://stackoverflow.com/questions/16069517/python-logical-evaluation-order-in-if-statement其中一個偉大的頂級答案存在,以補充我的短小。 –

回答

0

他們有更高的優先級,但是,在or operator works by

表達x or y首先評估x;如果x爲真,則返回其值;否則,將評估y並返回結果值。

由於k3.3333333333333335,表達k <= 3FalseTrue將被評估(自身)並返回製作l == True