在编程语言中,运算符(Operator) 是连接数据与逻辑的桥梁。 无论是数学计算、逻辑判断,还是字符串拼接,都离不开运算符。
Python 提供了丰富而直观的运算符,使代码简洁易读。 本章将全面讲解 Python 的主要运算符及其使用方法,帮助你掌握编程的基本"计算能力"。
一 运算符分类总览
Python 的运算符主要分为以下几类:
类型 | 示例 | 作用 | |
---|---|---|---|
算术运算符 | + - * / % ** // |
数值运算 | |
赋值运算符 | = += -= *= /= %= //= **= |
给变量赋值 | |
比较运算符 | == != > < >= <= |
比较两个值 | |
逻辑运算符 | and or not |
逻辑判断 | |
位运算符 | `& | ^ ~ << >>` | 按位操作二进制数 |
成员运算符 | in not in |
判断是否包含 | |
身份运算符 | is is not |
判断是否是同一对象 |
二 算术运算符
算术运算符用于执行数学运算,是最常见的一类。
运算符 | 含义 | 示例 | 结果 |
---|---|---|---|
+ |
加法 | 5 + 3 |
8 |
- |
减法 | 5 - 2 |
3 |
* |
乘法 | 4 * 3 |
12 |
/ |
除法(浮点) | 10 / 4 |
2.5 |
// |
整除 | 10 // 4 |
2 |
% |
取余 | 10 % 3 |
1 |
** |
幂运算 | 2 ** 3 |
8 |
示例:
python
a, b = 10, 3
print(a / b) # 3.333...
print(a // b) # 3
print(a % b) # 1
print(a ** b) # 1000
💡 提示
//
结果永远是整数(向下取整),即使操作数为浮点数。
三 赋值运算符
赋值运算符不仅用于"赋值",还可结合运算,实现简洁的更新写法。
运算符 | 示例 | 含义 | 等价写法 |
---|---|---|---|
= |
a = 10 |
赋值 | --- |
+= |
a += 2 |
加后赋值 | a = a + 2 |
-= |
a -= 3 |
减后赋值 | a = a - 3 |
*= |
a *= 2 |
乘后赋值 | a = a * 2 |
/= |
a /= 3 |
除后赋值 | a = a / 3 |
//= |
a //= 3 |
整除后赋值 | a = a // 3 |
%= |
a %= 2 |
取余后赋值 | a = a % 2 |
**= |
a **= 2 |
幂后赋值 | a = a ** 2 |
示例:
python
a = 10
a += 5
print(a) # 15
b = 3
b **= 2
print(b) # 9
四 比较运算符
用于判断两个值的大小、相等性等,结果为布尔值 True
或 False
。
运算符 | 含义 | 示例 | 结果 |
---|---|---|---|
== |
等于 | 5 == 5 |
True |
!= |
不等于 | 5 != 3 |
True |
> |
大于 | 7 > 4 |
True |
< |
小于 | 2 < 9 |
True |
>= |
大于等于 | 6 >= 6 |
True |
<= |
小于等于 | 3 <= 8 |
True |
示例:
python
x, y = 10, 20
print(x > y) # False
print(x != y) # True
💡 小技巧: 在 Python 中可以连续比较,如
3 < x <= 10
,等价于3 < x and x <= 10
。
五 逻辑运算符
逻辑运算符用于组合多个条件表达式,常用于控制结构中(如 if
语句)。
运算符 | 含义 | 示例 | 结果 |
---|---|---|---|
and |
与(两个都为真) | True and False |
False |
or |
或(至少一个为真) | True or False |
True |
not |
非(取反) | not True |
False |
示例:
python
age = 18
score = 85
print(age >= 18 and score > 60) # True
print(age < 18 or score > 90) # False
print(not (score > 90)) # True
六 位运算符(进阶)
位运算符用于直接操作二进制数据,常用于底层逻辑或性能优化场景。
运算符 | 含义 | 示例(以二进制) | 结果 | ||
---|---|---|---|---|---|
& |
与 | 1100 & 1010 |
1000 |
||
` | ` | 或 | `1100 | 1010` | 1110 |
^ |
异或 | 1100 ^ 1010 |
0110 |
||
~ |
取反 | ~1100 |
0011 |
||
<< |
左移 | 10 << 2 |
1000 |
||
>> |
右移 | 10 >> 1 |
1 |
示例:
python
a, b = 6, 3 # 二进制:a=110, b=011
print(a & b) # 2
print(a | b) # 7
print(a ^ b) # 5
print(a << 1) # 12
print(a >> 1) # 3
七 成员运算符
用于判断某个元素是否属于某个序列(如字符串、列表、元组)。
运算符 | 示例 | 结果 |
---|---|---|
in |
'a' in 'apple' |
True |
not in |
'b' not in 'apple' |
True |
示例:
python
name = "Python"
print('y' in name) # True
print('z' not in name) # True
八 身份运算符
判断两个变量是否引用同一个对象(即内存地址是否相同)。
运算符 | 示例 | 结果 |
---|---|---|
is |
a is b |
True 或 False |
is not |
a is not b |
True 或 False |
示例:
python
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True(同一对象)
print(a is c) # False(值相等但不是同一个对象)
print(a == c) # True(值相等)
⚠️ 注意:
is
比较的是对象标识(id),而==
比较的是值是否相等。
九 运算符优先级
当多个运算符同时出现时,Python 会按优先级执行。
从高到低排列如下(常用部分):
**
(幂运算)* / // %
(乘除取余)+ -
(加减)- 比较运算符:
< <= > >= == !=
- 逻辑
not
- 逻辑
and
- 逻辑
or
示例:
python
print(2 + 3 * 4) # 14
print((2 + 3) * 4) # 20
print(not (2 > 3) and True) # True
十 小结
分类 | 常见符号 | 说明 | |
---|---|---|---|
算术运算符 | + - * / % ** // |
基本数值运算 | |
赋值运算符 | = += -= *= /= |
给变量赋值或更新 | |
比较运算符 | == != > < >= <= |
判断关系 | |
逻辑运算符 | and or not |
条件组合 | |
位运算符 | `& | ^ ~ << >>` | 二进制操作 |
成员运算符 | in not in |
判断是否包含 | |
身份运算符 | is is not |
判断是否同一对象 |
实战练习
编写一个简单的用户登录程序,综合使用比较与逻辑运算符:
python
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "admin" and password == "123456":
print("登录成功!")
else:
print("用户名或密码错误!")
运行示例:
请输入用户名:admin
请输入密码:123456
登录成功!
总结一句话:
运算符是编程的"语言符号",掌握它们,就能让 Python 程序拥有强大的逻辑与计算能力。