Python 的运算符优先级规则遵循以下顺序:
1. 算术运算符:
指数运算符 ``
按位运算符(包括按位取反 `~`,按位与 `&`,按位或 ``,按位异或 ``)
乘法运算符 ``,除法运算符 `/`,整除运算符 `//`,取模运算符 `%`
加法运算符 `+`,减法运算符 `-`
2. 比较运算符:
`>`,`>=`,`<`,`<=`
`==`,`!=`
3. 身份运算符:
`is`,`is not`
4. 成员运算符:
`in`,`not in`
5. 布尔运算符:
`and`
`or`
`not`
6. 赋值运算符:
`=`,`+=`,`-=`,`=`,`/=`,`//=`,`%=`,`=`,`&=`,`=`,`=`,`<<=`,`>>=`
以下是一个运算符优先级的例子:
```python
x = 6 2 + 3 首先执行乘法,然后加法
```
在这个例子中,乘法 `` 的优先级高于加法 `+`。
理解运算符优先级对于编写正确的代码非常重要,特别是在没有使用括号改变默认优先级的情况下。例如:
```python
x = 2 + 3 4 如果没有理解运算符优先级,可能会错误地认为这是 2 + (3 4) = 14
实际执行顺序是:2 + 3 4 = 2 + 12 = 14
```
如果需要改变默认的运算顺序,可以使用括号:
```python
x = (2 + 3) 4 这样结果就是 20
```