1 算术运算符
算术运算符 |
|
python # 加法 ‘+’ print(5 + 6) # 减法 ‘-’ print(5 - 6) # 乘法 ‘*’ print(5 * 6) # 除法 ‘/’ print(5 / 6) # 取模 ‘%’ (余数) print(5 % 6) print(-5 % 6) print(5 % -6) print(-5 % -6) # 整除 ‘//’ (商) print(5 // 6) print(-5 // 6) print(5 // -6) print(-5 // -6) # 幂 ‘**’ print(5 ** 6) |
python 11 -1 30 0.8333333333333334 5 1 -1 -5 0 -1 # 负数整除 向下取整 -1 0 15625 |
2 赋值运算符
赋值运算符 |
|
python # 正常赋值 ‘=’ a = 7 print(a) # 加法赋值 ‘+=’ a = 7 a += 3 print(a) # 减法赋值 ‘-=’ a = 7 a -= 3 print(a) # 乘法赋值 ‘*=’ a = 7 a *= 3 print(a) # 除法赋值 ‘/=’ a = 7 a /= 3 print(a) # 取模赋值 ‘%=’ a = 7 a %= 3 print(a) # 整除赋值 ‘//=’ a = 7 a //= 3 print(a) # 幂赋值 ‘**=’ a = 7 a **= 3 print(a) |
python 7 10 4 21 2.3333333333333335 1 2 343 |
3 比较运算符
比较运算符 |
|
python # 等于 ‘==’ print(7 == 3) # 不等于 ‘!=’ print(7 != 3) # 大于 ‘>’ print(7 > 3) # 小于 ‘<’ print(7 < 3) # 大于等于 ‘>=’ print(7 >= 3) # 小于等于 ‘<=’ print(7 <= 3) |
python False True True False True False |
4 位运算符
# a = 0011 1100 = 128*0 + 64*0 + 32*1 + 16*1 + 8*1 + 4*1 + 2*0 + 1*0 = 60
# b = 0000 1101 = 128*0 + 64*0 + 32*0 + 16*0 + 8*1 + 4*1 + 2*0 + 1*1 = 13
a = 60
b = 13
分类 |
运算符 |
描述 |
示例 |
二进制原码 |
输出 |
注释(对比二进制各位数值) |
|
|
|
print(a) |
0011 1100 |
60 |
|
|
|
|
print(b) |
0000 1101 |
13 |
|
按位运算符 |
& |
按位与运算符 |
print(a & b) |
0000 1100 |
12 |
对应位都为1 ,该位为1 ;其一为0 ,该位为0 。 |
|
` |
` |
按位或运算符 |
`print(a |
b)` |
0011 1101 |
61 |
对应位都为0 ,该位为0 ;其一为1 ,该位为1 。 |
|
^ |
按位异或运算符 |
print(a ^ b) |
0011 0001 |
49 |
对应位相等,该位为0 ;不相等,该位为1 。 |
|
~ |
按位取反运算符 |
print(~a) |
1100 0011(补码) |
-61 |
1. 二进制补码形式,0 变1 ,1 变0 ,首位为符号; |
|
|
|
|
1100 0010(减1) |
|
2. 负数输出时,先将补码减1; |
|
|
|
|
1011 1101(再取反) |
|
3. 再取反。(可简单记做~a = -(a + 1) ) |
移位运算符 |
<< |
左移动运算符 |
print(a<<2) |
1111 0000 |
240 |
各位1 的位置向左移动2 个单位。 |
|
>> |
右移动运算符 |
print(a>>2) |
0000 1111 |
15 |
各位1 的位置向右移动2 个单位。 |
# 按位异或运算符
a = 0b0111100
b = 0b00001101
print(a ^ b) # 返回:49
5 逻辑运算符
逻辑运算符 |
|
|
|
|
|
|
|
```python # 布尔与 ‘and’ ‘&’ print(True and False) print(True & False) # 布尔或 ‘or’ ‘ |
’ print(True or False) print(True |
False) # 布尔非 ‘not’ print(not True) ``` |
|
|
|
python False False True True False |
and /& |
True |
False |
or /` |
` |
True |
False |
not |
not |
True |
True |
False |
True |
True |
True |
True |
False |
False |
False |
False |
False |
True |
False |
False |
True |
6 成员运算符
成员运算符 |
|
python # 成员运算符 ‘in’ ‘not in’ list1 = list(range(1, 8)) print(3 in list1) print(3 not in list1) |
python True False |
复合数据类型成员 |
|
python # 元组 识别 print(1 in (1,2,3)) # 列表 识别 print(1 in [1,2,3]) # 集合 识别 print(1 in range(5)) # 字典 key 识别 print(1 in {1,2,3}) print(1 in {1:'a',2:'b',3:'c'}) # 字典 item 不识别 print('a' in {1:'a',2:'b',3:'c'}) |
python True True True True True False |
7 身份运算符
身份运算符 |
|
python # int 同一性判断 a = 123 b = 123 print(a is b) # float 同一性判断 a = 1.23 b = 1.23 print(a is b) # 字符串 同一性判断 a = '123' b = '123' print(a is b) # 列表 同一性判断 a = [1, 2, 3] b = [1, 2, 3] print(a is b) # 元组 同一性判断 a = 1, 2, 3 b = (1, 2, 3) print(a is b) |
python True True True False True |
8 运算符优先级
括号 |
幂 |
符号 |
算术运算符 |
|
位运算符 |
|
|
比较运算符 |
|
赋值运算符 |
身份运算符 |
成员运算符 |
逻辑运算符 |
() |
** 指数 |
~ 按位取反
+ 正
- 负 |
* 乘
/ 除
% 取模
// 取整数 |
+ 加
- 减 |
>> 右移
<< 左移 |
& 按位与 |
^ 按位异或 ` |
`按位或 |
<= 小于等于
< 小于
> 大于
>= 大于等于 |
<> 不等于
== 等于
!= 不等于 |
= 正常赋值
%= 取模赋值
/= 除法赋值
//= 整除赋值
-= 减法赋值
+= 加法赋值
*= 乘法赋值
**= 幂赋值 |
is
is not |
in
in not |
not 布尔与
and 布尔或
or 布尔非 |