Python运算符优先级完全指南 - 从入门到精通
- Python
- 2025-07-17
- 1637
Python运算符优先级完全指南
掌握Python运算符优先级,写出更高效、更可靠的代码
什么是运算符优先级?
运算符优先级决定了表达式中运算的执行顺序。当表达式包含多个运算符时,优先级高的运算符会先于优先级低的运算符进行计算。
例如,在表达式 2 + 3 * 4
中,乘法运算符(*)的优先级高于加法运算符(+),因此先计算 3 * 4
得到12,然后再计算 2 + 12
得到14。
Python运算符优先级表
优先级 | 运算符 | 描述 | 示例 |
---|---|---|---|
最高 | () |
括号 | (3+4)*2 → 14 |
高 | ** |
指数 | 2**3 → 8 |
↑ | ~ + - |
按位取反、正负号 | -5 + 3 → -2 |
* / // % |
乘、除、整除、取模 | 10 % 3 → 1 |
|
+ - |
加、减 | 5 - 2 → 3 |
|
↓ | << >> |
位左移、位右移 | 8 >> 1 → 4 |
低 | & |
按位与 | 5 & 3 → 1 |
^ | |
按位异或、按位或 | 5 ^ 3 → 6 |
|
最低 | == != > >= < <= |
比较运算符 | 5 == 5 → True |
not and or |
逻辑运算符 | True and False → False |
记住:括号()
拥有最高优先级,可以显式改变运算顺序。当不确定优先级时,使用括号可以使代码更清晰易读。
运算符优先级实例分析
示例1:算术运算符
result = 5 + 3 * 2 ** 2
计算步骤:
- 指数运算:
2 ** 2 = 4
- 乘法运算:
3 * 4 = 12
- 加法运算:
5 + 12 = 17
结果:17
示例2:混合运算符
result = 15 > 10 and 5 + 3 * 2 == 11
计算步骤:
- 乘法:
3 * 2 = 6
- 加法:
5 + 6 = 11
- 比较:
15 > 10 → True
- 比较:
11 == 11 → True
- 逻辑与:
True and True → True
结果:True
使用括号改变优先级
括号可以显式改变运算顺序,使表达式更清晰:
示例1:改变算术优先级
无括号:8 / 2 * 4 → 16.0
有括号:8 / (2 * 4) → 1.0
解释:括号强制先进行乘法运算
示例2:逻辑表达式
result = (5 > 3) and (10 < 20 or 5 == 5)
解释:括号明确指定了逻辑运算的顺序
结果:True
最佳实践建议
- 当表达式包含3个或更多运算符时,使用括号
- 混合使用算术和逻辑运算符时,使用括号
- 当表达式含义不够清晰时,使用括号增强可读性
- 即使知道优先级,使用括号也能防止未来修改时引入错误
运算符优先级练习
尝试计算以下表达式的值,然后点击查看答案:
expression1 = 2 * 3 ** 2 + 5
expression2 = 10 + 5 * 2 == 20 and 7 % 3 > 1
expression3 = (10 + 5) * 2 == 30 or 8 / 2 ** 2 < 3
本文由ChangsunNeng于2025-07-17发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://pjw.521pj.cn/20255783.html
发表评论