首页 » 父与子的编程之旅:与小卡特一起学Python » 父与子的编程之旅:与小卡特一起学Python全文在线阅读

《父与子的编程之旅:与小卡特一起学Python》3.3 运算顺序

关灯直达底部

下面哪一个正确?

2 + 3 * 4 = 20  

还是

2 + 3 * 4 = 14  

这要看你采用什么顺序来计算。如果先做加法,会得到

2 + 3 = 5,  

然后得到

5 * 4 = 20  

如果先做乘法,就会得到

3 * 4 = 12,  

然后是

2 + 12 = 14  

第二个顺序是正确的,所以正确答案是 14。在数学中有一种运算顺序(order of operation),指定了先计算哪些操作符,后计算哪些操作符,而不管它们的书写顺序如何。

在我们的这个例子中,尽管 + 号在 * 号前面,但是应当先算乘法。Python 会遵循正确的数学规则,所以它会先做乘法再做加法。可以在交互模式中试试看,看看能不能得到这个结果:

>>> print 2 + 3 * 414  

Python 使用的顺序与你在数学课上学到的(或者将要学到的)规则完全相同。指数运算最优先,然后是乘除,再后面是加减运算。

如果希望改变运算顺序,先完成某个运算,只需要在它两边加上括号(圆括号),比如:

>>> print (2 + 3) * 420  

这一次,Python 会先做 2 + 3(因为有括号),可以得到 5,然后再做乘法 5 * 4,得到 20。

再强调一次,这与数学课上讲的是一样的。Python(和所有其他编程语言)都会遵循正确的数学规则和运算顺序。