运算符与表达式
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代码至关重要。