本文字数:1267 字
阅读本文大概需要:4 分钟
写在之前
在昨天的文章中(
零基础学习 Python 之处理异常
)中学习了处理异常的正确姿势,今天我们继续来学习“错误 & 异常”里比较重要的一个知识点:「assert」。
assert 翻译成中文就是「断言」的意思,它是一句等价于布尔真的判断,如果它发生异常的话,意味着表达式为假。
断言(assert)
首先让我们先来看点简单的代码,从代码中理解 assert。
assert 的应用场景很像它在汉语中的意思:当程序运行到某个节点的时候,就断定某个变量的值必然是什么,或者是对象必然拥有某个属性等。简单点来说的话,就是断定是什么东西就必然是什么东西,如果不是,就抛出异常。
接下来我们再来看一段稍微复杂点的代码:
在上面的代码中,我们设置的是 deposit() 和 withdraw() 方法的参数 amount 必须大于零,这里用的就是断言,如果不满足条件的话就会直接报错。比如像下面这样来运行:
出现的结果如下所示:
这就是断言 assert 的引用,那么什么时候是引用断言的最佳时机呢?如果没有特殊的目的的话,断言主要应用于以下情况(参考《Python使用断言的最佳时机》):
1.防御性的编程;
2.运行时对程序逻辑的检测;
3.合约性检查(比如前置或者后置条件);
4.程序中的常量;
5.检查文档。
写在之后
assert 就这些东西,「错误 & 异常」到这差不多就结束了。异常处理是编程语言或者计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况。
通过异常处理,我们可以对用户在程序中的非法输入进行控制和提示,以防程序崩溃。从进程的视角来看,硬件终端属于可恢复异常,虽然异常一般与程序流本身无关。
异常是一种很有用的机制,用于通知外界该子程序不能正常执行,比如输入的数据无效或者所需的资源不可用等,如果系统没有异常机制,则程序员需要用返回值来标示发生了哪些错误。
最后,如果你觉得本篇文章对你有所帮助的话,欢迎点赞转发,先行谢过。
The end。
领取专属 10元无门槛券
私享最新 技术干货