0
点赞
收藏
分享

微信扫一扫

python运算符总结:位操作符与优先级问题

Resin_Wu 2024-11-18 阅读 11

各类资料学习下载合集

https://pan.quark.cn/s/8c91ccb5a474

在 Python 编程中,理解运算符的种类及其优先级是非常重要的,尤其是在进行复杂表达式的计算时。本文将总结 Python 中的位操作符,并讨论运算符的优先级问题。

1. 位操作符

位操作符用于直接操作二进制位。Python 中的位操作符包括:

  • 按位与 (&):对于每一对相应的位,只有在两个位都为 1 时结果才为 1。

a = 5   # 二进制:0101
b = 3   # 二进制:0011
result = a & b  # 结果:0001 (1)

  • 按位或 (|):对于每一对相应的位,只要有一个位为 1,结果就为 1。

result = a | b  # 结果:0111 (7)

  • 按位异或 (^):对于每一对相应的位,只有在两个位不同的情况下结果才为 1。

result = a ^ b  # 结果:0110 (6)

  • 按位取反 (~):对每一位进行反转,0 变为 1,1 变为 0。

result = ~a  # 结果:-6 (在 Python 中,取反会得到负数)

  • 左移 (<<):将二进制位向左移动指定的位数,右侧补 0。

result = a << 1  # 结果:1010 (10)

  • 右移 (>>):将二进制位向右移动指定的位数。

result = a >> 1  # 结果:0010 (2)

2. 运算符优先级

运算符的优先级决定了在一个表达式中运算的顺序。优先级高的运算符先进行计算。以下是 Python 中运算符的优先级,从高到低:

  1. 括号 ():首先计算括号内的表达式。
  2. 指数 **:计算幂。
  3. 单目运算符:如取反 -x、取正 +x、按位取反 ~x
  4. 乘法、除法、取余*///%
  5. 加法、减法+-
  6. 位移操作<<>>
  7. 按位与 &
  8. 按位异或 ^
  9. 按位或 |
  10. 比较运算符:如 <<=>>===!=
  11. 身份运算符isis not
  12. 成员运算符innot in
  13. 逻辑运算符notandor
  14. 赋值运算符=+=-=, 等等。

3. 示例:运算符优先级

以下是一个例子,展示了运算符优先级如何影响计算结果:

a = 5
b = 3
c = 10

result = a + b * c  # 先计算 b * c
print(result)  # 输出: 35

result = (a + b) * c  # 先计算 (a + b)
print(result)  # 输出: 80

举报

相关推荐

0 条评论