1. Python运算符基础认知:从菜鸟到专家的第一课
刚接触Python时,我对运算符的理解仅限于简单的加减乘除。直到某天调试一个财务计算脚本时,发现3 + 5 * 2的结果和预期不符,才真正意识到运算符优先级的重要性。这个看似基础的概念,在实际开发中往往成为隐蔽的bug来源。
1.1 运算符的本质与分类
运算符本质上就是告诉解释器"做什么操作"的符号指令。Python中的运算符可以分为以下几大类:
- 算术运算符:
+、-、*、/、//(整除)、%(取模)、**(幂运算) - 比较运算符:
==、!=、>、<、>=、<= - 赋值运算符:
=、+=、-=等复合赋值运算符 - 逻辑运算符:
and、or、not - 位运算符:
&、|、^(异或)、~(取反)、<<(左移)、>>(右移) - 成员运算符:
in、not in - 身份运算符:
is、is not
注意:Python中没有其他语言中常见的自增(
++)和自减(--)运算符,这是新手常犯的错误之一。
1.2 优先级的概念与生活类比
运算符优先级决定了表达式中运算的执行顺序。就像数学中的"先乘除后加减"一样,Python也有自己完整的优先级规则。
用交通信号灯来类比:
- 高优先级运算符就像救护车,拥有最高路权
- 中等优先级运算符就像普通车辆,按规则行驶
- 低优先级运算符就像行人,最后通过
python复制# 典型示例
result = 5 + 3 * 2 # 先乘后加,结果为11
result = (5 + 3) * 2 # 先括号内相加,再乘,结果为16
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Python运算符优先级全解析
2.1 完整优先级表与记忆技巧
Python官方文档中运算符优先级从高到低如下:
| 优先级 | 运算符 | 描述 | 记忆口诀 |
|---|---|---|---|
| 1 | () |
括号 | "括号永远最优先" |
| 2 | ** |
幂运算 | "指数爆炸最厉害" |
| 3 | ~ + - |
