Python3 运算符详解
在 Python3 中,运算符用于对变量和值执行操作。Python 提供了多种类型的运算符,下面将详细介绍它们的分类、用法和优先级。
一、算术运算符
用于数值计算,支持整数、浮点数和复数。
| 运算符 | 描述 | 示例 |
|---|---|---|
+ |
加法 | 5 + 3 → 8 |
- |
减法 | 5 - 3 → 2 |
* |
乘法 | 5 * 3 → 15 |
/ |
除法 | 5 / 3 → 1.666... |
// |
整除(向下取整) | 5 // 3 → 1 |
% |
取模(余数) | 5 % 3 → 2 |
** |
幂运算 | 5 ** 3 → 125 |
示例:
print(10 / 3) # 输出: 3.3333333333333335
print(10 // 3) # 输出: 3
print(10 % 3) # 输出: 1
print(2 ** 3) # 输出: 8
二、比较运算符
返回布尔值(
True或False),用于比较两个值。| 运算符 | 描述 | 示例 |
|---|---|---|
== |
等于 | 5 == 3 → False |
!= |
不等于 | 5 != 3 → True |
> |
大于 | 5 > 3 → True |
< |
小于 | 5 < 3 → False |
>= |
大于等于 | 5 >= 3 → True |
<= |
小于等于 | 5 <= 3 → False |
示例:
x = 5
y = 3
print(x == y) # 输出: False
print(x != y) # 输出: True
三、赋值运算符
用于赋值操作,支持复合赋值。
| 运算符 | 示例 | 等价于 |
|---|---|---|
= |
a = 5 |
a = 5 |
+= |
a += 3 |
a = a + 3 |
-= |
a -= 3 |
a = a - 3 |
*= |
a *= 3 |
a = a * 3 |
/= |
a /= 3 |
a = a / 3 |
//= |
a //= 3 |
a = a // 3 |
%= |
a %= 3 |
a = a % 3 |
**= |
a **= 3 |
a = a ** 3 |
示例:
a = 5
a += 3 # 等价于 a = a + 3
print(a) # 输出: 8
四、逻辑运算符
用于布尔值的逻辑运算。
| 运算符 | 描述 | 示例 |
|---|---|---|
and |
逻辑与 | True and False → False |
or |
逻辑或 | True or False → True |
not |
逻辑非 | not True → False |
示例:
x = 5
print(x > 3 and x < 10) # 输出: True
print(x < 3 or x > 10) # 输出: False
print(not x > 3) # 输出: False
五、位运算符
对整数的二进制位进行操作。
| 运算符 | 描述 | 示例(a=60,b=13) |
|---|---|---|
& |
按位与 | a & b → 12(二进制:0000 1100) |
| |
按位或 | a | b → 61(二进制:0011 1101) |
^ |
按位异或 | a ^ b → 49(二进制:0011 0001) |
~ |
按位取反 | ~a → -61(二进制:1100 0011) |
<< |
左移 | a << 2 → 240(二进制:1111 0000) |
>> |
右移 | a >> 2 → 15(二进制:0000 1111) |
示例:
a = 60 # 二进制: 0011 1100
b = 13 # 二进制: 0000 1101
print(a & b) # 输出: 12
print(a | b) # 输出: 61
print(a << 2) # 输出: 240
六、成员运算符
用于判断元素是否存在于序列中。
| 运算符 | 描述 | 示例 |
|---|---|---|
in |
存在于序列中 | 5 in [1, 5, 3] → True |
not in |
不存在于序列中 | 5 not in [1, 2, 3] → True |
示例:
fruits = ["apple", "banana", "cherry"]
print("apple" in fruits) # 输出: True
print("mango" not in fruits) # 输出: True
七、身份运算符
用于比较对象的内存地址(是否为同一对象)。
| 运算符 | 描述 | 示例 |
|---|---|---|
is |
是同一个对象 | a is b |
is not |
不是同一个对象 | a is not b |
示例:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # 输出: True(a和b指向同一对象)
print(a is c) # 输出: False(a和c值相同但对象不同)
八、运算符优先级
优先级高的运算符先计算,可使用括号
()改变优先级。从高到低排序:
- 幂运算:
** - 一元运算符:
+x,-x,~x - 乘除取模:
*,/,//,% - 加减:
+,- - 位移:
<<,>> - 按位与:
& - 按位异或:
^ - 按位或:
| - 比较运算符:
==,!=,>,<,>=,<= - 身份运算符:
is,is not - 成员运算符:
in,not in - 逻辑非:
not - 逻辑与:
and - 逻辑或:
or
示例:
print(2 + 3 * 4) # 输出: 14(先乘后加)
print((2 + 3) * 4) # 输出: 20(括号优先)
九、总结
- 算术运算符:用于数学计算。
- 比较运算符:返回布尔值,用于条件判断。
- 赋值运算符:赋值并支持复合操作。
- 逻辑运算符:组合布尔值。
- 位运算符:操作二进制位。
- 成员和身份运算符:判断存在性和对象身份。
- 优先级:决定运算顺序,括号可改变优先级。
掌握运算符是编写高效 Python 代码的基础,合理使用运算符能让代码更简洁、易读。
浙公网安备 33010602011771号