Python运算符优先级口诀及记忆技巧
幂运算最高(右结合),接着是///%(左结合),然后是+-(左结合),再是==!=(左结合),最后是赋值=(右结合);例如-32得-9,2+34先算乘,10-3+2从左得9,3+4==7无需括号。
幂运算最高(右结合),接着是///%(左结合),然后是+-(左结合),再是==!=(左结合),最后是赋值=(右结合);例如-32得-9,2+34先算乘,10-3+2从左得9,3+4==7无需括号。

Python 运算符优先级没有官方口诀,但靠死记表格容易混淆——真正管用的是按「结合性 + 常见组合」分层理解,再配几个短小精准的助记点。
记住这 5 层结构,覆盖 95% 场景
不用背全部 17 级,日常写代码高频出现的就这几层,从高到低:
**(右结合)→ 幂运算单独一层,比+-高得多,-3**2是-9不是9*///%(左结合)→ 四则中除法类统一高于加减,2 + 3 * 4先算乘+-(左结合)→ 加减同级,10 - 3 + 2从左算得9,不是5==!=<><=>=(左结合)→ 比较运算符同级且低于算术,3 + 4 == 7没括号也对;但3 < 4 == 5是True and False→False(链式比较!)andornot(not最高,and次之,or最低)→not优先于and,and优先于or;False or not True and True等价于False or ((not True) and True)
最容易踩坑的 3 种情况
优先级本身不难,难在「看起来像会那样算,其实不是」:
is和==优先级相同,但语义完全不同:x is y == z是链式比较,等价于(x is y) and (y == z),不是(x is y) == zlambda优先级最低,所以lambda x: x + 1 == 2被解析为lambda x: (x + 1 == 2),不是(lambda x: x + 1) == 2await优先级低于**,高于*:即await x ** 2合法,但await x * 2会报SyntaxError,必须写成(await x) * 2
调试时快速验证优先级的方法
别猜,用 ast 模块看 Python 实际怎么解析:
import ast
print(ast.dump(ast.parse('a + b * c', mode='eval'), indent=2))输出里能看到 BinOp 的 op 是 Mult 包在 Add 里面,说明 * 先于 +。对复杂表达式(比如含 and/or/if-else 三元)尤其有用。
真正要留心的不是「哪一级最高」,而是「哪些看似并列实则分层」——比如 not 看起来和 and 都是逻辑词,但它绑定更紧;又比如 is 和 in 优先级一样,但没人会把它们混着链式写。多写两行括号,远比查表省心。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















