0
5 % 4 // 6 % 3    

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

5 % 0 % 3 

导致错误

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

4

2 回答 2

2
5 % 4 // 6 % 3 

只是从左到右评估所以

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

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

于 2020-07-24T18:46:29.437 回答
0

它从左到右。如果您更改代码:

(5 % 4) // (6 % 3)

它引发 a ZeroDivisionError ,因为括号优先。如果你不放括号,它只是从左到右。

于 2020-07-24T18:45:45.087 回答