zl程序教程

您现在的位置是:首页 >  后端

当前栏目

《像计算机科学家一样思考Python(第2版)》——2.5 操作顺序

Python计算机 操作 顺序 思考 一样 科学家 2.5
2023-09-11 14:17:35 时间

本节书摘来自异步社区《像计算机科学家一样思考Python(第2版)》一书中的第2章,第2.5节,作者[美] Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.5 操作顺序

当一个表达式中出现多个操作符时,求值的顺序依赖于优先级规则。对数学操作符,Python遵守数学的传统规则。缩略词PEMDAS可以帮助记忆这些规则:

括号(P,Parentheses)拥有最高的优先级,并可以用来强制表达式按照你需要的顺序进行求值。因为括号中的表达式会先执行,所以2*(3-1)的结果是4,而(1+1)**(5-2)的结果是8。你也可以利用括号使得表达式更加易读,就像(minute*100)/60这样,即使这里增加括号并不会改变结果。

乘方(E,Exponentiation)操作拥有次高的优先级,所以1+2**3的结果是9,而不是27,而且2 * 3**2的结果是18,而不是36。

乘法(M,Multiplication)和除法(D,Division)优先级相同,并且高于亦有相同优先级的加法(A,Addition)和减法(S,Substraction)。所以2*3-1是5,而不是4,并且6+4/2是8,而不是5。

优先级相同的操作按照自左向右的顺序求值(除了乘方以外)。所以表达式degrees/2*pi,除法在乘法之前执行,结果乘以pi。如果想除以2π,可以使用括号,或者写为degrees/2/pi。

其他操作符的优先级,我并不会花太多功夫记下来。如果只看表达式不能确定的话,使用括号指明优先级即可。


异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。