运算符优先级如何在 % 和 // 之间起作用?
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
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