一、算术运算符

+ - * / % // **
取模 取整 求幂
  1. print(6 + 3) # 9
  2. print(6 - 3) # 3
  3. print(6 * 3) # 18
  4. print(6 / 3) # 2.0
  5. print(6 % 3) # 0
  6. print(6 // 3) # 2
  7. print(6**3) # 216

二、赋值运算符

将计算等号右侧“表达式”的值,并赋值给等号左侧的“变量”

三、复合运算符

+= a += b 相当于 a = a + b
-= a -= b 相当于 a = a - b
*= a *= b 相当于 a = a * b
/= a /= b 相当于 a = a / b
%= a %= b 相当于 a = a % b
//= a //= b 相当于 a = a // b
**= a **= b 相当于 a = a ** b

四、位运算符

  • &

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

  1. """
  2. 0000 0110 # 6
  3. & 0000 0011 # 3
  4. ----------------
  5. 0000 0010 # 2
  6. """
  7. print(6 & 3) # 2
  • |

按位或运算符:参与运算的两个值,如果两个相应位有一个为1时,则该位的结果为1,否则为0

  1. """
  2. 0000 0110 # 6
  3. | 0000 0011 # 3
  4. ----------------
  5. 0000 0111 # 7
  6. """
  7. print(6 | 3) # 7
  • ^

按位异或运算符:参与运算的两个值,如果两个相应位不同时,则该位的结果为1,否则为0

  1. """
  2. 0000 0110 # 6
  3. ^ 0000 0011 # 3
  4. ----------------
  5. 0000 0101 # 5
  6. """
  7. print(6 ^ 3) # 5
  • ~

按位取反运算符:对数据的每个二进制位进行取反操作,把1变为0,把0变为1

  1. """
  2. 0000 0110 # 6
  3. --------------
  4. 1111 1001 # -7
  5. """
  6. print(~6) # -7
  • <<

左移动运算符:运算数的各二进制位全部向左移动若干位,由符号右侧的数字指定移动的位数,高位丢弃,低位补0

  1. """
  2. 0000 1001
  3. ----------------
  4. 0010 0100
  5. """
  6. print(9 << 2)
  • >>

右移动运算符:运算数的各二进制位全部向右移动若干位,由符号右侧的数字指定移动的位数,低位丢弃,高位补0

  1. """
  2. 0000 1001
  3. ----------------
  4. 0000 0010
  5. """
  6. print(9 >> 2)

五、布尔运算符

  • 真值(True)
  • 假值(False)

    六、关系运算符

    | > | < | >= | <= | == | != | | :—-: | :—-: | :—-: | :—-: | :—-: | :—-: | | 大于 | 小于 | 大于等于 | 小于等于 | 等于 | 不等于 |

计算关系运算符左右两边的值

  1. print(6 > 3) # True
  2. print(6 < 3) # False

七、逻辑运算符

八、成员运算符

九、身份运算符

十、运算符优先级