Python中的模数和操作顺序

dar*_*dog 5 python modulo operator-precedence

在Zed Shaw的"艰难学习Python"(第15-16页)中,他有一个示例练习

 100 - 25 * 3 % 4
Run Code Online (Sandbox Code Playgroud)

结果是97(试试吧!)

我看不到可以做到这一点的操作顺序..

100 - 25 = 75
3%4 = 0
或(100-25*3)= 225%4 = ??? 但无论如何不是97我不认为......

一个类似的例子是3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6收益率7

操作的顺序是什么?

Sve*_*ach 25

对于第一个例子:*%优先考虑-,所以我们首先评估25 * 3 % 4. *并且%从左到右具有相同的优先级和相关性,因此我们从左到右进行评估,从...开始25 * 3.这产生了75.现在我们评估75 % 4,屈服3.最后100 - 397.