有谁知道为什么下面的代码在Python中没有相同的结果? 为什么我需要括号来获得正确的结果?
#example 1
print 1-4 %5
outcome: -3
#example 2
print (1-4)%5
outcome: 2
答案 0 :(得分:2)
这是由于operator precedence。 Mod(%
)优先于-
,因此:
1-4 % 5 == 1 - (4 % 5) == 1 - 4 == -3
但
(1-4) % 5 == -3 % 5 == 2
答案 1 :(得分:1)
Python运算符优先级的减去仅低于模数
http://www.mathcs.emory.edu/~valerie/courses/fall10/155/resources/op_precedence.html
*, /, % Multiplication, division, remainder
+, - Addition, subtraction