dflyzx 2010-03-11
在计算机语言中被广泛的应用的Python运算符优先级,如果你在应用的过程中遇到困难时,比如,如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?下面的文章就是详细的介绍。
我们的中学数学告诉我们应当先做乘法――这意味着乘法运算符的优先级高于加法运算符。
下面这个表给出Python运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Python运算符会首先计算表中较下面的运算符,然后在计算列在表上部的运算符。
运算符 描述
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,...' 字符串转换
在表中列在同一行的运算符具有 相同优先级 。例如,+和-有相同的优先级。
计算顺序