各类资料学习下载合集
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 中运算符的优先级,从高到低:
- 括号
()
:首先计算括号内的表达式。 - 指数
**
:计算幂。 - 单目运算符:如取反
-x
、取正+x
、按位取反~x
。 - 乘法、除法、取余:
*
,/
,//
,%
。 - 加法、减法:
+
,-
。 - 位移操作:
<<
,>>
。 - 按位与
&
。 - 按位异或
^
。 - 按位或
|
。 - 比较运算符:如
<
,<=
,>
,>=
,==
,!=
。 - 身份运算符:
is
,is not
。 - 成员运算符:
in
,not in
。 - 逻辑运算符:
not
,and
,or
。 - 赋值运算符:
=
,+=
,-=
, 等等。
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