Zog*_*rod 2 python math python-3.x
请有人向我解释为什么表达式2 + 4/2*3评估为8.0而不是2.66?
我认为乘法是在除法之前进行的,但是在这种情况下似乎在乘法之前执行除法运算.
因为它被评估为:
2 + ((4 / 2) * 3)
Run Code Online (Sandbox Code Playgroud)
因为*并且/具有更高的优先级,+并且当运算符具有相同的优先级时它从左到右.
引用文档:
下表总结了Python中的运算符优先级,从最低优先级(最小绑定)到最高优先级(大多数绑定).同一个框中的运算符具有相同的优先级.除非明确给出语法,否则运算符是二进制的.同一个框组中的操作符从左到右(取幂除外,从右到左分组).
运营商说明
- [...]
+,-加法和减法*,@,/,//,%乘法,矩阵乘法,除法,地板除法,余数- [...]