assert 断言
最后更新:2026-09-22
assert 断言
assert expression[, msg] 在 expression 为假时抛 AssertionError;用 -O 运行可被禁用。
| 分类 | 关键字与语句 |
|---|---|
| 类型 | 关键字与语句 |
| Python 版本 | all |
📝 语法
assert expression[, msg]
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
assert: must be positive
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qassert 失败会怎样?
A抛 AssertionError 并中断程序(若未被捕获)。可以带消息:assert x > 0, 'x must be positive',失败时消息会显示在异常里。
Q能用 assert 做参数校验吗?
A不建议。用 python -O 运行时 assert 会被整体移除,校验就形同虚设。面向用户输入和业务逻辑的校验应该用 if + raise ValueError 这类正式异常。
Qassert 和 if 的区别是什么?
Aassert 表达的是「假设一定成立,不成立就是 bug」,是开发和测试阶段的检查工具;if 是正常的流程控制。生产代码不要把关键逻辑押在 assert 上。