python 运算符优先级由高到低
Python 中运算符优先级,括号的优先级是最高的,无论任何时候优先计算括号里面的内容,逻辑运算符的优先级最低。算术运算符可以分为四种,幂运算最高,其次是正负号,然后是 “* /// %”,最后才是加减 “+ -”。以下运算符按从上到下,优先级从高到低排列,同行为相同优先级,相同优先级需要考虑结合性:
- 括号:()
- 幂运算:**
- 按位取反:~
- 正号、负号:+、-
- 乘、除、取模、取整除:* 、/、 %、 //
- 加、减:+ 、-
- 右移、左移:>> 、<<
- 按位 “与”:&
- 按位 “异或”,按位 “或”:^ 、|
- 比较运算符:<= 、< 、>、 >=
- 等于、不等于:==、!=
- 赋值运算符:=、%=、/=、//=、-=、+=、*=、**=
- 身份运算符:is、is not
- 成员运算符:in、not in
- 逻辑运算符:and or not
- 虽然 Python 运算符存在优先级的关系,但写程序时不建议写很长的表达式,建议写程序时,遵守以下两点原则:
- 尽量不要把一个表达式写的过长过于复杂,如果计算过程的确需要,可以尝试将它拆分几部分来写。
- 尽量多使用 () 来控制运算符的执行顺序,使用 () 可以让运算的先后顺序变得十分清楚。