python comparison operator-precedence associativity

Operadores de comparación de Python encadenando/agrupando de izquierda a derecha?



comparison operator-precedence (1)

Agrupación (esto es lo que hacen los operadores sin comparación):

a + b + c means (a + b) + c

Encadenamiento (esto es lo que hacen los operadores de comparación):

a < b < c means (a < b) and (b < c)

Agrupación de izquierda a derecha (esta es la forma en que se agrupan las cosas):

5 - 2 - 1 means (5 - 2) - 1 == 2

en lugar de agrupar de derecha a izquierda (esto produciría un resultado diferente):

5 - (2 - 1) == 4

(editar)

El encadenamiento se deja de derecha a izquierda, por lo que en a < b < c , la expresión a < b se evalúa antes que b < c , y si a < b es falso, b < c no se evalúa.

(2 < 1 < f()) da el valor False sin llamar a la función f , porque 2 < 1 evalúa como falso, por lo que no es necesario realizar la segunda comparación.

f() > 1 > g() llama a f() para evaluar la primera comparación, y dependiendo del resultado, podría o no necesitar evaluar la segunda condición, que requiere llamar a g() .

https://en.wikipedia.org/wiki/Short-circuit_evaluation

La documentación de Python para los estados de precedencia del operador :

Los operadores en el mismo recuadro agrupan de izquierda a derecha (excepto las comparaciones, incluidas las pruebas, que tienen la misma precedencia y la misma cadena de izquierda a derecha; consulte la sección Comparisons ...)

¿Qué significa esto? Específicamente:

  1. "Los operadores en el mismo cuadro agrupan de izquierda a derecha (excepto las comparaciones ...)" - ¿las comparaciones no agrupan de izquierda a derecha?

  2. Si las comparaciones no se agrupan de izquierda a derecha, ¿qué hacen en su lugar? ¿Se "encadenan" en lugar de "grupo"?

  3. Si las comparaciones "encadenan" en lugar de "agrupar", ¿cuál es la diferencia entre "encadenar" y "agrupar"?

  4. ¿Cuáles serían algunos ejemplos para demostrar que los operadores de comparación encadenan de izquierda a derecha en lugar de derecha a izquierda?