吐槽:主要跟运算有关,感觉要么很基础要么基本用不上的样子吧(感觉像个flag)
1. 算术运算符
使用范围:整数类型和浮点类型的数据
一元运算符为正负号,二元运算符如下
运算符 | 名称 | 说明 |
---|---|---|
+ | 正号 | +a 还是a |
- | 负号 | -a 对a的取反运算 |
+ | 加 | 加法运算 |
- | 减 | 减法运算 |
* | 乘 | 乘法运算 |
/ | 除 | 除法运算 |
% | 取余 | a%b:求a除以b的余数 |
** | 幂 | a**b:求a的b次幂 |
// | 地板除法 | a//b:求小于a与b的商的最大整数 |
–4 = +4
2. 比较运算符
用于比较两个表达式的大小,其结果是布尔类型的数据。
可以比较:整数、浮点、布尔类型的数据;以及其他可兼容的字符串、列表等等数据类型
运算符 | 名称 | 例子 | 输出True | 输出False |
---|---|---|---|---|
== | 等于 | a==b | a=b | a≠b |
!= | 不等于 | a!=b | a≠b | a=b |
> | 大于 | a>b | a>b | a≤b |
< | 小于 | a<b | a<b | a≥b |
>= | 大于等于 | a>=b | a≥b | a<b |
<= | 小于等于 | a<=b | a≤b | a≤b |
3. 逻辑运算符
运算符 | 名称 | 例子 | 输出True | 输出False |
---|---|---|---|---|
not | 逻辑非 | not a | a为False时 | a为True时 |
and | 逻辑与 | a and b | a、b均为True时 | 其他情况 |
or | 逻辑或 | a or b | 其他情况 | a、b均为False时 |
not为同一表达式逻辑取反
and和or为运算不同表达式
4. 位运算符(二进制,咕)
位运算:以二进制(bit)为单位进行运算的,操作数和结果都是整数类型的数据。
PS:二进制运算,并非十进制运算,先不做了解。
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
~ | 位反 | ~x | 将x的值按位取反 |
& | 位与 | x&y | 将x与y按位进行位与运算 |
位或 | x | ||
^ | 位异或 | x^y | 将x与y按位进行位异或运算 |
>> | 右移 | x>>a | 将x右移a位,高位采用符号位补位 |
<< | 左移 | x<<a | 将x左移a位,低位用0补位 |
5. 赋值运算符
赋值运算符:赋值语句的简便用法,只有算术运算和位运算中的二元算符才具有对应的赋值运算符
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
+= | 加赋值 | a += b | 等价于a = a+b |
-= | 减赋值 | a -= b | 以下同上 |
*= | 乘赋值 | a *= b | |
/= | 除赋值 | a /= b | |
%= | 取余赋值 | a %= b | |
**= | 幂赋值 | a **= b | |
//= | 地板除法赋值 | a //= b | |
&= | 位与赋值 | a &= b | |
= | 位或赋值 | a | |
^= | 位异或赋值 | a ^= b | |
>>= | 右移赋值 | a >>= b | |
<<= | 左移赋值 | a <<= b |
6. 运算符的优先级
运算优先级从高到低:算术运算符——位运算符——关系运算符——逻辑运算符——赋值运算符
优先级 | 运算符 | 说明 |
---|---|---|
1 | () | 小括号 |
2 | ** | 幂 |
3 | ~ | 位反 |
4 | +, - | 正负号 |
5 | *, /, %, // | 乘、除、取余、地板除 |
6 | +, - | 加、减 |
7 | <<,>> | 位移 |
8 | & | 位与 |
9 | ^ | 位异或 |
10 | ||
11 | <,<=,>,>=,!=,== | 比较 |
12 | not | 逻辑非 |
13 | and, or | 逻辑与,逻辑或 |
参考资料
《看漫画学Python》第4章