python中的断言使用python的童鞋一定知道,但是什么时候使用,可能不是很清楚,我们就这个如何合适的使用断言进行讨论。
那什么时候应该使用assert?没有特定的规则,断言应该用于:
- 防御型的编程
- 运行时检查程序逻辑
- 检查约定
- 程序常量
- 检查文档
简单的来说一下常用的这几种情况,
1.防御型编程:尽早的进行错误防御,使错误更容易发现,修改,减少破坏性。 (这里就是可以使用断言尽早判断)
2.在程序逻辑中进行判断。
3.检查约定好,绝对不应该变得内容(如果变了,肯定是有bug,这里就能发现问题所在,阻止程序继续执行,尽早发现错误)。
4.程序里面的常量也可以使用断言,理由如3所示。
5.可以一段程序的文档写成断言方式,既方便阅读,又方便调试。
常用的也就这么多,断言是常用于开发阶段的工具,作为接口设计上的契约检查,在生产环境上一般要去掉减少断言对性能的影响(python可以编译成.pyo以关闭断言)。