文件名称:运算符优先级-rk3399 android 7.1 tablet 软件开发指南v1.00-2017-01-16.pdf
文件大小:785KB
文件格式:PDF
更新时间:2024-06-22 07:50:09
Python 教程
第5章 运算符与表达式 上一页 运算符优先级 下一页 运算符优先级 如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉 我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符。 下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级 (最紧密地结合)。这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后 在计算列在表上部的运算符。 下面这张表(与Python参考手册中的那个表一模一样)已经顾及了完整的需要。事实上,我建 议你使用圆括号来分组运算符和操作数,以便能够明确地指出运算的先后顺序,使程序尽可能 地易读。例如,2 + (3 * 4)显然比2 + 3 * 4清晰。与此同时,圆括号也应该正确使用,而不应该 用得过滥(比如2 + (3 + 4))。 表5.2 运算符优先级 运算符 描述 lambda Lambda表达式 or 布尔“或” and 布尔“与” not x 布尔“非” in,not in 成员测试 is,is not 同一性测试 <,<=,>, >=,!=,== 比较 | 按位或 ^ 按位异或 & 按位与 <<,>> 移位 +,- 加法与减法 *,/,% 乘法、除法与取 余 +x,-x 正负号 ~x 按位翻转 ** 指数 x.attribute 属性参考 x[index] 下标 x[index:index] 寻址段 f(arguments...) 函数调用 (experession,...) 绑定或元组显示 [expression,...] 列表显示 {key:datum,...} 字典显示 'expression,...' 字符串转换 其中我们还没有接触过的运算符将在后面的章节中介绍。 在表中列在同一行的运算符具有 相同优先级 。例如,+和-有相同的优先级。 计算顺序 默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果你想要改变它 们的计算顺序,你得使用圆括号。例如,你想要在一个表达式中让加法在乘法之前计算,那么 你就得写成类似(2 + 3) * 4的样子。 结合规律 运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2 + 3 + 4被计算成(2 + 3) + 4。一些如赋值运算符那样的运算符是由右向左结合的,即a = b = c被处 理为a = (b = c)。 上一页 上一级 下一页 运算符 首页 表达式