运算符优先级如何在 % 和 // 之间起作用?

How operator precedence works between % and //?

5 % 4 // 6 % 3    

o/p 是 0,但根据运算符优先级,它应该引发 ZeroDivisionError 因为它应该被解释为

5 % 0 % 3 

导致错误

有人可以详细说明运算符优先级在这里是如何工作的吗?

从左到右。如果您更改 :

的代码
(5 % 4) // (6 % 3)

它引发了一个 ZeroDivisionError ,因为括号优先。如果你不加括号,它只是从左到右。

5 % 4 // 6 % 3 

只是从左到右求值 所以

5%4 = 1
1//6 = 0
0%3 = 0

它们都处于同一优先级 https://docs.python.org/3/reference/expressions.html#operator-precedence