在掌握了怎么用Python定义变量和Python常用的数据类型后, 我们就可以继续探索Python世界了.
运算符
算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 1 + 2 => 3 |
– | 减 | 3 – 2 => 1 |
* | 乘 | 2 * 3 => 6 |
/ | 除 | 6 / 2 => 3 |
// | 整除 | 7 // 2 => 3 |
% | 模除 | 7 % 2 = 1 |
** | 幂 | 2 ** 3 = 8 |
关系运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 | 1 == 2 => False |
!= | 不等 | 3 != 2 => True |
<> | 不等 | 2 <> 3 => True |
> | 大于 | 6 > 2 => True |
< | 小于 | 7 < 2 => False |
>= | 大于等于 | 7 >= 2 = True |
<= | 小于等于 | 2 <= 3 = True |
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值 | x = 1 |
+= | 加赋值 | x += 1 |
-= | 减赋值 | x -= 1 |
*= | 乘赋值 | x *= 2 |
/= | 除赋值 | x /= 2 |
//= | 整除赋值 | x //= 2 |
%= | 模除赋值 | x %= 2 |
**= | 幂赋值 | x **= 3 |
位运算符
运算符 | 描述 | 实例 |
---|---|---|
& | 与运算 | 5 & 2 |
| | 或运算 | 5 | 2 |
~ | 取反运算 | ~7 |
^ | 异或运算 | 7 ^ 3 |
<< | 左移运算 | 1 << 2 |
>> | 右移运算 | 7 >> 1 |
print( 5 & 2 ) # 00000101 and 00000010 => 00000000 => 0
print( 5 | 2 ) # 00000101 or 00000010 => 00000111 => 7
print( 7 ^ 3) # 00000111 xor 00000011 => 00000100 => 4
print(1 << 2) # 00000001 << 2 => 00000100 => 4
print(7 >> 1) # 00000111 >> 1 => 00000011 => 3
print(~7) # -x - 1 => -8
涉及到的一些概念
1. 源码: 是指由 0 和 1 组成的二进制数.(先低后高存储)
2. 无符号位数: 是指将
源码的所有有效位数, 都用来表示数值(比如 “0000 0001” 这是一个8位的二进制数, 可以表示数的范围就是[0, 255])3. 有符号位数: 是指用
源码的第一位表示符号位(
1 表示负数,
0 表示正数), 其余的位数来表示数值(比如”0000 0001″ 这是一个8位的二进制数, 可以表示数的范围就是[-128, 127])4. 原码: 是指用
有符号位数表示的二进制数5. 反码: 正数的反码是它本身, 负数的反码是除符号位外的其他位取反得到的(比如 -7的
原码是 10000111,
反码就是 11111000)6. 补码: 正数的补码是它本身, 负数的补码是在反码的基础上加 1(比如 -7 的
反码是 11111000, 那
补码就是 11111001)
~取反运算符, 是将数值的补码进行取反
~7 => ~(0000 0111) => 1111 1000 => 1000 0111(反码) => 1000 1000(补码) => -8
同理 ~(-8)
∵ -8 => 1000 1000(原码) => 1111 0111(反码) ==> 1111 1000(补码)
∴ ~(-8) => ~(1111 1000) => 0000 0111 => 7
逻辑运算符
运算符 | 描述 | 实例 |
---|---|---|
not | 非 | not True |
and | 与 | True and False |
or | 或 | True or False |
成员运算符
运算符 | 描述 | 实例 |
---|---|---|
in | 存在 | 1 in range(10) |
not in | 不存在 | 1 not in range(2, 10) |
身份运算符
运算符 | 描述 | 实例 |
---|---|---|
is | 是否相同引用 | x is y |
is not | 是否不同引用 | x is not y |
运算符的优先级
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ | 按位翻转 |
* / % // | 乘, 除, 模除和整除 |
+ – | 加法, 减法 |
>> << | 右移,左移运算符 |
& | 与运算 |
^ | | 或运算符和异或运算符 |
<= < > >= | 比较运算符 |
<> == != | 关系运算符 |
= %= /= //= -= += = *= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |