Appearance
Python 运算符
运算符是用来对数据进行运算的符号。Python 提供了丰富的运算符,按功能可分为算术、比较、逻辑、赋值、成员、身份和位运算等。
算术运算符
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
+ | 加 | 3 + 2 | 5 |
- | 减 | 3 - 2 | 1 |
* | 乘 | 3 * 2 | 6 |
/ | 除(得浮点) | 7 / 2 | 3.5 |
// | 整除(向下取整) | 7 // 2 | 3 |
% | 取余 | 7 % 2 | 1 |
** | 幂 | 2 ** 3 | 8 |
python
print(7 / 2) # 3.5
print(7 // 2) # 3
print(7 % 2) # 1
print(2 ** 10) # 1024比较运算符
比较运算返回布尔值 True 或 False:
| 运算符 | 含义 | 示例 |
|---|---|---|
== | 等于 | 3 == 3 |
!= | 不等于 | 3 != 4 |
> | 大于 | 5 > 3 |
< | 小于 | 2 < 4 |
>= | 大于等于 | 5 >= 5 |
<= | 小于等于 | 3 <= 2 |
python
print(10 > 5) # True
print("ab" == "ab") # True逻辑运算符
Python 用单词而非符号表示逻辑运算:
| 运算符 | 含义 | 说明 |
|---|---|---|
and | 与 | 两边都为真才为真 |
or | 或 | 至少一边为真即为真 |
not | 非 | 取反 |
python
age = 20
print(age > 18 and age < 30) # True
print(age > 30 or age < 18) # False
print(not (age > 18)) # FalsePython 还支持"短路"求值:a and b 若 a 为假,则直接返回 a,不再计算 b。
赋值运算符
除了最基本的 =,还有复合赋值,让代码更简洁:
| 运算符 | 等价形式 |
|---|---|
= | x = 10 |
+= | x = x + 2 |
-= | x = x - 2 |
*= | x = x * 2 |
/= | x = x / 2 |
//= | x = x // 2 |
%= | x = x % 2 |
**= | x = x ** 2 |
python
count = 0
count += 5
print(count) # 5海象运算符 :=(Python 3.8+)可以在表达式内同时赋值并使用:
python
if (n := len("Koyuki")) > 3:
print("长度", n) # 长度 6成员运算符
in 和 not in 用于判断某个元素是否在序列(如字符串、列表、字典的键)中:
python
print("K" in "Koyuki") # True
print(3 in [1, 2, 3]) # True
print(4 not in [1, 2, 3]) # True身份运算符
is 和 is not 判断两个变量是否指向同一个对象(详见"变量"章节):
python
a = [1, 2]
b = [1, 2]
print(a is b) # False
print(a is not b) # True位运算符
针对整数的二进制位进行运算,常用于底层开发:
| 运算符 | 含义 |
|---|---|
& | 按位与 |
| ` | ` |
^ | 按位异或 |
~ | 按位取反 |
<< | 左移 |
>> | 右移 |
python
print(5 & 3) # 1 (0101 & 0011 = 0001)
print(5 | 3) # 7 (0101 | 0011 = 0111)
print(5 << 1) # 10 (左移一位相当于乘 2)运算符优先级
当一个表达式里有多种运算符时,按优先级计算,大致顺序(从高到低):
**幂~按位取反、+x/-x一元正负*///%+-<<>>&^|- 比较运算符
><==等 notandor
不确定时,请用括号 () 明确意图,既避免出错又提升可读性:
python
result = (3 + 2) * 4 # 20,而不是 3 + 8完整示例
python
a, b = 7, 2
print("加法:", a + b) # 9
print("除法:", a / b) # 3.5
print("整除:", a // b) # 3
print("取余:", a % b) # 1
print("幂:", a ** b) # 49
print("比较:", a > b) # True
print("逻辑:", a > 5 and b < 5) # True
print("成员:", b in [1, 2, 3]) # True运行结果:
text
加法: 9
除法: 3.5
整除: 3
取余: 1
幂: 49
比较: True
逻辑: True
成员: True