Python 运算符全解析
📅 2026/7/10 3:32:56
👁️ 阅读次数
📝 编程学习
1. 引言
在 Python 编程中,运算符是用于对变量和值执行操作的特殊符号或关键字。它们是构建表达式、实现逻辑判断和进行数据计算的基础。掌握各类运算符的用法,是编写高效、清晰 Python 代码的关键一步。
本文将系统性地介绍 Python 中的五大类运算符:算数运算符、赋值运算符、比较运算符、逻辑运算符以及其他常用运算符,并通过丰富的代码示例帮助你快速理解和应用。
2. 算数运算符
算数运算符用于执行基本的数学运算,如加、减、乘、除等。
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
+ | 加 | 5 + 3 | 8 |
- | 减 | 5 - 3 | 2 |
* | 乘 | 5 * 3 | 15 |
/ | 除 | 5 / 2 | 2.5 |
// | 取整除(向下取整) | 5 // 2 | 2 |
% | 取模(求余数) | 5 % 2 | 1 |
** | 幂(乘方) | 5 ** 2 | 25 |
代码示例:
a=10b=3print(a+b)# 输出: 13print(a-b)# 输出: 7print(a*b)# 输出: 30print(a/b)# 输出: 3.3333333333333335print(a//b)# 输出: 3print(a%b)# 输出: 1print(a**b)# 输出: 10003. 赋值运算符
赋值运算符用于为变量赋值,或将运算结果赋值给变量。最基本的赋值运算符是=。
| 运算符 | 示例 | 等价于 | 描述 |
|---|---|---|---|
= | x = 5 | x = 5 | 简单赋值 |
+= | x += 3 | x = x + 3 | 加法赋值 |
-= | x -= 3 | x = x - 3 | 减法赋值 |
*= | x *= 3 | x = x * 3 | 乘法赋值 |
/= | x /= 3 | x = x / 3 | 除法赋值 |
//= | x //= 3 | x = x // 3 | 取整除赋值 |
%= | x %= 3 | x = x % 3 | 取模赋值 |
**= | x **= 3 | x = x ** 3 | 幂赋值 |
代码示例:
x=10x+=5# x = x + 5print(x)# 输出: 15x**=2# x = x ** 2print(x)# 输出: 225# 链式赋值a=b=c=1print(a,b,c)# 输出: 1 1 1# 多元赋值x,y,z=1,2,3print(x,y,z)# 输出: 1 2 34. 比较运算符
比较运算符(也称关系运算符)用于比较两个值,返回布尔值True或False。
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
== | 等于 | 5 == 3 | False |
!= | 不等于 | 5 != 3 | True |
> | 大于 | 5 > 3 | True |
< | 小于 | 5 < 3 | False |
>= | 大于等于 | 5 >= 3 | True |
<= | 小于等于 | 5 <= 3 | False |
代码示例:
a=10b=20print(a==b)# 输出: Falseprint(a!=b)# 输出: Trueprint(a>b)# 输出: Falseprint(a<b)# 输出: Trueprint(a>=10)# 输出: Trueprint(b<=20)# 输出: True# 比较运算符可以链式使用print(1<a<15)# 输出: True,等价于 (1 < a) and (a < 15)5. 逻辑运算符
逻辑运算符用于组合条件语句,同样返回布尔值True或False。
| 运算符 | 描述 | 示例 |
|---|---|---|
and | 逻辑与 - 如果两个操作数都为真,则条件为真。 | (a > 0) and (b > 0) |
or | 逻辑或 - 如果两个操作数中任意一个为真,则条件为真。 | (a > 0) or (b > 0) |
not | 逻辑非 - 用于反转操作数的逻辑状态。 | not (a > 0) |
真值表与短路求值:
x=Truey=Falseprint(xandy)# 输出: Falseprint(xory)# 输出: Trueprint(notx)# 输出: False# 短路求值示例defcheck():print("函数被调用了")returnTrueresult=Falseandcheck()# check() 函数不会被调用,因为第一个操作数为 Falseprint(result)# 输出: Falseresult=Trueorcheck()# check() 函数同样不会被调用,因为第一个操作数为 Trueprint(result)# 输出: True6. 其他常用运算符
除了以上四类,Python 还提供了其他几类实用的运算符。
6.1 身份运算符
用于比较两个对象的内存地址(是否为同一个对象)。
is:判断两个标识符是否引用自同一个对象。is not:判断两个标识符是否引用自不同对象。
a=[1,2,3]b=a c=[1,2,3]print(aisb)# 输出: True,b 是 a 的引用print(aisc)# 输出: False,值相同但对象不同print(a==c)# 输出: True,值相等6.2 成员运算符
用于测试序列(如字符串、列表、元组、字典、集合)中是否包含指定的成员。
in:如果在指定的序列中找到值,则返回True。not in:如果在指定的序列中没有找到值,则返回True。
my_list=[1,2,3,4,5]my_str="Hello, Python!"print(3inmy_list)# 输出: Trueprint(10notinmy_list)# 输出: Trueprint("Py"inmy_str)# 输出: Trueprint("Java"notinmy_str)# 输出: True6.3 位运算符
位运算符把数字看作二进制来进行计算(日常开发中使用频率较低)。
&:按位与|:按位或^:按位异或~:按位取反<<:左移>>:右移
a=60# 二进制:0011 1100b=13# 二进制:0000 1101print(a&b)# 输出: 12 (0000 1100)print(a|b)# 输出: 61 (0011 1101)print(a^b)# 输出: 49 (0011 0001)print(~a)# 输出: -61print(a<<2)# 输出: 240 (1111 0000)print(a>>2)# 输出: 15 (0000 1111)7. 运算符优先级
当表达式中包含多个运算符时,Python 会按照优先级顺序进行计算。优先级高的运算符先于优先级低的运算符进行计算。
从高到低常见优先级:
()括号**指数~+-按位取反,一元加号和减号*/%//乘,除,取模,取整除+-加法,减法<<>>左移,右移&按位与^|按位异或,按位或<=<>>=比较运算符==!=等于,不等于=%=/=//=-=+=*=**=赋值运算符isis not身份运算符innot in成员运算符notorand逻辑运算符
建议:在编写复杂表达式时,使用括号()来明确运算顺序,这能使代码更清晰、更易读。
# 优先级示例result=10+3*2**2# 先算 2**2=4,再算 3*4=12,最后算 10+12=22print(result)# 输出: 22# 使用括号改变优先级result=(10+3)*2**2# 先算括号内 10+3=13,再算 2**2=4,最后算 13*4=52print(result)# 输出: 528. 总结
本文详细梳理了 Python 中的五大类运算符及其子类:
- 算数运算符:用于基础数学计算。
- 赋值运算符:用于为变量赋值或进行复合赋值。
- 比较运算符:用于比较值,返回布尔结果。
- 逻辑运算符:用于组合条件逻辑。
- 其他运算符:包括身份运算符、成员运算符和位运算符。
理解并熟练运用这些运算符,是构建 Python 程序逻辑的基石。在实际编码中,请时刻注意运算符的优先级,并善用括号来提升代码的可读性和准确性。
编程学习
技术分享
实战经验