本文主要总结下Python的运算符,以及运算符的优先级。
算术运算符
算术运算符有: +(加)、-(减)、*(乘)、/(除)、%(取模)、**(幂)、//(取整除)。
1 | 3 + 2 |
比较(关系)运算符
比较运算符有: =(等于)、!=(不等于)、<>(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。
1 | 3 == 2 |
赋值运算符
赋值运算符只有=,其它类似+=、*=实际是赋值表达式,如 a += 1等价于a = a + 1。
1 | x = 3 |
逻辑运算符
逻辑运算符有: and(与)、or(或)、not(非)。
x and y : 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
x or y : 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
not x: 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
1 | False and 1 |
位运算符
位运算符有: &(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(按位左移)、>>(按位右移)。
位运算符是把数字看作二进制来进行计算的
1 | x,y = 21,26 |
成员运算符
成员运算符有: in、not in。
1 | 3 in (20,8,11,2) |
身份运算符
成员运算符有: is、is not。
1 | x,y = 3,2 |
运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
| 运算符 | 描述 |
|---|---|
| ** | 指数 (最高优先级) |
| ~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
| * / % // | 乘,除,取模和取整除 |
| + - | 加法减法 |
| >> << | 右移,左移运算符 |
| & | 按位与 |
| ^ | | 按位异或、按位或 |
| <= < > >= | 比较运算符 |
| <> == != | 等于运算符 |
| = %= /= //= -= += = *= | 赋值运算符 |
| is is not | 身份运算符 |
| in not in | 成员运算符 |
| not or and | 逻辑运算符 |