Python文档指出:模运算符总是产生与第二个操作数(或零)符号相同的结果在Python中,
>>> - 5 % 2 >>> 1
字符串但当我在它前面加上0时,
>>> 0 - 5 % 2 >>> - 1
型是因为表示负数和减法时负号不同吗?怎么区分?
zzoitvuj1#
您看到的行为可以根据运算符优先级来解释:
- 5 % 2
字符串这里5前面的负号表示否定,它的优先级比%高,所以这个表达式的计算结果是:
%
(-5) % 2 = 1
型这同样适用于第二个表达式:
0 - 5 % 2
型这里,0和5之间的负号表示减法,它的优先级低于%,因此此表达式的计算结果为:
0 - (5 % 2) = 0 - 1 = -1
型
1条答案
按热度按时间zzoitvuj1#
您看到的行为可以根据运算符优先级来解释:
字符串
这里5前面的负号表示否定,它的优先级比
%
高,所以这个表达式的计算结果是:型
这同样适用于第二个表达式:
型
这里,0和5之间的负号表示减法,它的优先级低于
%
,因此此表达式的计算结果为:型