首页 > 代码库 > 运算符优先级

运算符优先级

运算符优先级

在常规表达式中,存在着多个运算符,比如: 1+2*3-1/2*3/2,到底是先算 +, - 呢,还是 *, / 呢? 那么就存在着计算优先度的问题.

一般的,运算符存在高低级别,在同一个表达式中,高优先级的先运算:

比如:12-3/3 = 11 而不是 3 (Python 中乘除优先级高于加减)

对于同级别的运算符,按从左到右处理

例如:8*4/2*3 = 48

运算符优先级由低到高是:

lambda
逻辑运算:or
逻辑运算:and
逻辑运算:not
成员测试:in, not in
同一性测试:is, is not
比较:<,<=,>,>=,!=,==
按位或:|
按位异或:^
按位与:&
移位:<<,>>
加法与减法:+, -
乘法、除法与取余:*,/,%
正负号:+x, -x
按位翻转: ~x
指数:  **

运算符优先级