简明 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)


上一页 上一级 下一页
运算符 首页 表达式
时时彩计划软件公式
@ssv
南极时时彩程序最新版 360cq时时彩 英皇娱乐官网 时时彩凹凸走势 江西时时彩开奖视频dbshishicai88
重庆时时彩心得体会 时时彩百十个软件 时时彩是合法的吗 最安全的时时彩平台 时时彩跟中不跟挂
怎么注册优游娱乐 3d时时彩游戏机 江西时时彩分平台出租 优博娱乐平台app下 金盾时时彩
旺旺重庆时时彩破解版 奇妙正版时时彩软件 拉菲时时彩平台骗局 时时彩是骗局吗 时时彩组六最大遗漏
山东11选5网易彩票 568彩票 大红鹰报码聊天 31选7走势图 360上海11选5走势图
福彩广西快乐双彩开奖 天津时时彩开奖号码结果查询 3d走势图 幸运飞艇开奖直播 北京赛车号码遗漏统计
中彩网3d走势图 宁夏十一选五昨天开奖结果 浙江体彩11选5预测 星力九代微信捕鱼平台 天津时时彩开走势图
河北十一选五走势图基本走势 北京赛车软件 江西11选5缩水工具 福建十一选五走 深圳风采走势图浙江网