运算符与表达式
1. 运算符简介
运算符是用于执行各种操作的符号。操作数是运算符作用的对象。Python 中的运算符按功能划分为以下几类:
- 算术运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
- 位运算符
- 成员运算符
- 身份运算符
2. 算术运算符
算术运算符用于完成基本的数学运算。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
+ |
加法 | 3 + 2 |
5 |
- |
减法 | 5 - 2 |
3 |
* |
乘法 | 4 * 3 |
12 |
/ |
除法 | 10 / 2 |
5.0 |
// |
取整除 | 9 // 2 |
4 |
% |
取余数 | 9 % 2 |
1 |
** |
幂运算 | 2 ** 3 |
8 |
示例:
a = 7
b = 3
print(a + b) # 输出:10
print(a - b) # 输出:4
print(a * b) # 输出:21
print(a / b) # 输出:2.3333333333333335
print(a // b) # 输出:2
print(a % b) # 输出:1
print(a ** b) # 输出:343
3. 比较运算符
比较运算符用于比较两个值,结果为布尔类型 True
或 False
。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
== |
等于 | 5 == 5 |
True |
!= |
不等于 | 5 != 3 |
True |
> |
大于 | 5 > 3 |
True |
< |
小于 | 3 < 5 |
True |
>= |
大于等于 | 5 >= 5 |
True |
<= |
小于等于 | 3 <= 4 |
True |
示例:
a = 10
b = 20
print(a == b) # 输出:False
print(a != b) # 输出:True
print(a > b) # 输出:False
print(a < b) # 输出:True
4. 逻辑运算符
逻辑运算符用于布尔运算,结果也为布尔类型 True
或 False
。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
and |
逻辑与 | True and False |
False |
or |
逻辑或 | True or False |
True |
not |
逻辑非 | not True |
False |
示例:
a = True
b = False
print(a and b) # 输出:False
print(a or b) # 输出:True
print(not a) # 输出:False
5. 赋值运算符
赋值运算符用于将值赋给变量。
运算符 | 描述 | 示例 |
---|---|---|
= |
赋值 | a = 5 |
+= |
加法赋值 | a += 3 |
-= |
减法赋值 | a -= 2 |
*= |
乘法赋值 | a *= 4 |
/= |
除法赋值 | a /= 2 |
%= |
取余赋值 | a %= 3 |
//= |
取整除赋值 | a //= 2 |
**= |
幂运算赋值 | a **= 2 |
示例:
a = 5
a += 2 # 相当于 a = a + 2
print(a) # 输出:7
a *= 3 # 相当于 a = a * 3
print(a) # 输出:21
6. 位运算符
位运算符用于对整数在二进制表示下进行操作。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
& |
按位与 | 5 & 3 |
1 |
` | ` | 按位或 | `5 |
^ |
按位异或 | 5 ^ 3 |
6 |
~ |
按位取反 | ~5 |
-6 |
<< |
左移 | 5 << 1 |
10 |
>> |
右移 | 5 >> 1 |
2 |
示例:
a = 6 # 二进制:110
b = 2 # 二进制:010
print(a & b) # 输出:2
print(a | b) # 输出:6
print(a ^ b) # 输出:4
7. 成员运算符
成员运算符用于测试对象是否在序列中。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
in |
检查是否存在 | 'a' in 'abc' |
True |
not in |
检查是否不存在 | 'd' not in 'abc' |
True |
示例:
my_list = [1, 2, 3, 4]
print(2 in my_list) # 输出:True
print(5 not in my_list) # 输出:True
8. 身份运算符
身份运算符用于比较两个对象的内存地址是否相同。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
is |
判断两个对象是否相同 | a is b |
False |
is not |
判断两个对象是否不同 | a is not b |
True |
示例:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # 输出:True
print(a is c) # 输出:False
9. 运算符优先级
运算符的优先级决定了表达式的运算顺序,优先级高的运算符先执行。
运算符的优先级(从高到低):
()
括号**
幂运算*
/
//
%
乘除和取整除+
-
加减- 比较运算符(
==
,!=
,>
,<
,>=
,<=
) - 赋值运算符(
=
,+=
,-=
, 等)
示例:
result = 2 + 3 * 4 # 输出:14,因为乘法优先于加法
print(result)
result = (2 + 3) * 4 # 输出:20,括号优先
print(result)
10. 小结
本节详细介绍了Python中的各种运算符,包括算术、比较、逻辑、赋值和位运算符等。熟练掌握这些运算符对于编写高效的Python代码至关重要。