像x % y这样的表达式计算的结果是x ÷ y的余数-好吧,从技术上讲,它是“模”而不是“提醒”,所以如果您与%是余数运算符的其他语言进行比较,结果可能会有所不同。There are some subtle differences(如果您对实际结果感兴趣,请参见下面的“为什么是Python的整数除法楼层”)。
优先级与运算符/(除法)和*(乘法)相同。>>> 9 / 2
4
>>> 9 % 2
19除以2等于4。
四乘二等于八
9减8等于1-余数。
Python gotcha:根据您正在使用的Python版本,%也是(不推荐使用的)字符串插值运算符,因此,如果您来自一种具有自动类型转换(如PHP或JS)的语言,其中像'12' % 2 + 3这样的表达式是合法的:在Python中,它将导致TypeError: not all arguments converted during string formatting,这可能会让您非常困惑。
[Python 3更新]
用户n00p评论:9/2 is 4.5 in python. You have to do integer division like so: 9//2 if you want python to tell you how many whole objects is left after division(4).
准确地说,整型除法曾经是Python2的默认值(请注意,这个答案比我已经上学的儿子大,当时2.x是主流):$ python2.7
Python 2.7.10 (default, Oct 6 2017, 22:29:07)