3.2.2 运算符优先级
对于表达式(2+3)*4-5*2,运算的顺序是什么样的呢?小学数学告诉我们应该先算括号内的,再算括号外的,先算乘除,再算加减。这种优先顺序就是运算符的优先级,乘、除的优先级高于加减,括号的优先级高于乘除。
常见运算符优先级由高到低的顺序如下:乘方(**),按位取反(~),正负号(+x、-x),乘、除、求余(*、/、%),加、减(+、-),比较(<、<=、>、>=、!=、==),成员判断(not in、in),逻辑运算(not、and、or)。
一般来说,同一优先级的运算符在运算时是按照从左往右的顺序结合的,如2+3-4的运算顺序是:解释器先运算2+3,得到结果5,再与运算符结合执行5—4。
而赋值运算符的结合则相反,按照从右往左的顺序,如x=y=z,会先将z的值赋给y,再将y的值赋给x。