运算符优先权
从 Python 文档:
下表总结了 Python 中的运算符优先级,从最低优先级(最小绑定)到最高优先级(大多数绑定)。同一个框中的运算符具有相同的优先级。除非明确给出语法,否则运算符是二进制的。同一个框组中的操作符从左到右(除了比较,包括测试,它们都具有相同的优先级和从左到右的链和取幂,从右到左分组)。
| 操作者 | 描述 |
|---|---|
| 拉姆达 | Lambda 表达 |
| 如果别的 | 条件表达式 |
| 要么 | 布尔 OR |
| 和 | 布尔 AND |
| 不是 x | 布尔 NOT |
| in,not in,is,not not,<,<=,>,> =,<>, !=,== | 比较,包括成员资格测试和身份测试 |
| ^ | 按位异或 |
| & | 按位 AND |
| <<,>> | 转移 |
| +, - | 加减 |
| *,/,//,% | 乘法,除法,余数[8] |
| + x,-x,~x | 正,负,按位 NOT |
| ** | 指数[9] |
| x [index],x [index:index],x(arguments …),x.attribute | 订阅,切片,调用,属性引用 |
| (表达式……),[表达式…],{键:值…},表达式…… | 绑定或元组显示,列表显示,字典显示,字符串转换 |