Python中比较运算符的关联性

Python中比较运算符的关联性,python,comparison,comparison-operators,associativity,Python,Comparison,Comparison Operators,Associativity,Python中比较运算符的关联性是什么?对于三个比较来说,这很简单,但除此之外,我不确定它是如何做到的。它们似乎不是右联想或左联想 >>> 81037572 > -2025 < -4722 < 6493 False >>> (81037572 > (-2025 < (-4722 < 6493))) True 例如: >>> 7410 >= 8690 <= -45

Python中比较运算符的关联性是什么?对于三个比较来说,这很简单,但除此之外,我不确定它是如何做到的。它们似乎不是右联想或左联想

>>> 81037572 > -2025 < -4722 < 6493           
False
>>> (81037572 > (-2025 < (-4722 < 6493)))     
True
例如:

>>> 7410 >= 8690 <= -4538 < 9319 > -7092        
False    
>>> (((7410 >= 8690) <= -4538) < 9319) > -7092 
True
>7410>=8690-7092
假的
>>> (((7410 >= 8690)  -7092 
真的
所以,不是左联想

>>> 81037572 > -2025 < -4722 < 6493           
False
>>> (81037572 > (-2025 < (-4722 < 6493)))     
True
>>81037572>-2025<-4722<6493
假的
>>> (81037572 > (-2025 < (-4722 < 6493)))     
真的
所以这也不对


我见过一些地方它们被“链接”,但是如果有四个或更多的比较,这是如何工作的?

你在类型上犯了一个错误,当你写
81037572>-2025
时,系统会认为这是
True
False
并将其与
1
0
相关联。因此,它会给出u与这些二进制数进行比较。

python短圈从左到右进行布尔测试:

7410>=8690<=-4538<9319>-7092        -> False
都是
True
,并且在比较布尔值和整数时应用。因此,当用括号括住语句时,会强制python执行所有测试;详细内容如下:

(((7410>=8690)<=-4538)<9319)>-7092
      False   <=-4538
            False     <9319
                    True  >-7092
                         True

((7410>=8690)链式比较用
展开,因此:

a <= b <= c

a我意识到它们返回布尔值。Python在比较过程中使用布尔值作为整数。因此,例如,15返回false。我知道它不会返回数学上正确的结果。它们只是示例,我只是问它们是如何解释的。按什么顺序。从我所能看出,它是从右到左的。S因为
0<3<2
返回
False
如果是这种情况,那么02将为真。
02
评估为
02
-->
true和False
-->
False
a <= b and b <= c