在Python中,运算符的优先级决定了表达式中运算的执行顺序。优先级高的运算符会先于优先级低的运算符进行计算。
优先级 | 运算符 | 描述 | 结合性 |
---|---|---|---|
1 最高 | () | 括号 | 从左到右 |
2 | ** | 幂运算 | 从右到左 |
3 | +x, -x, ~x | 正负号、按位取反 | 从右到左 |
4 | *, /, //, % | 乘、除、整除、取模 | 从左到右 |
5 | +, - | 加、减 | 从左到右 |
6 | <<, >> | 位移运算 | 从左到右 |
7 | & | 按位与 | 从左到右 |
8 | ^ | 按位异或 | 从左到右 |
9 | | | 按位或 | 从左到右 |
10 最低 | ==, !=, <, <=, >, >= | 比较运算符 | 从左到右 |
注意:当多个运算符具有相同的优先级时,它们的结合性决定了运算的顺序。大多数运算符是从左到右结合的,但幂运算和一元运算符是从右到左结合的。
例如:2 ** 3 ** 2 等价于 2 ** (3 ** 2) = 512,而不是 (2 ** 3) ** 2 = 64。
可以使用以下助记词帮助记忆优先级顺序:
"Parentheses, Exponents, Multiplication and Division, Addition and Subtraction" (PEMDAS)
中文可记为:"括号、幂、乘除、加减"
上一篇:Python数学运算指南
下一篇:没有了