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