2017-12-20 14 views

答えて

16

これは演算子chaining phenomenonによるものです。 Pydocのようにそれを説明する:例えば、

比較は任意に連鎖することができ、そのYが一度だけ評価されている以外は、X < Y < = Zは、 < X にYおよびY < = Z等価であります(ただし、 の場合、x <が偽であると判断された場合、zはまったく評価されません)。

そして、あなたは==!=事業者のprecedenceを見れば、あなたは彼らが同じ優先順位ので、連鎖現象に適用さを持っていることがわかります。

だから基本的に何が起こる:

>>> 1==2 
=> False 
>>> 2!=3 
=> True 

>>> (1==2) and (2!=3) 
    # False and True 
=> False 
3

Aはopは比較演算子ですA op B op Cのような表現をチェーン(https://docs.python.org/2.3/ref/comparisons.html)として評価Cとは対照的である:

A op B and B op C 

をこのように、あなたの例が評価されますas

1 == 2 and 2 != 3 

となり、結果はFalseになります。

関連する問題