Python中断言与异常的区别

异常,在程序运行时出现非正常情况时会被抛出,比如常见的名称错误、键错误等。

异常:

>>> s
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 's' is not defined
>>>

断言,判断某个表达式的真假,真则程序继续执行,否则抛出 AssertionError 异常。

断言:

>>> assert 3 < 2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError
>>>

  断言能够帮助别人或未来的你理解代码,找出程序中逻辑不对的地方。一方面,断言会提醒你某个对象应该处于何种状态,另一方面,如果某个时候断言为假,会抛出 AssertionError 异常,很有可能终止程序。

posted @ 2019-02-21 19:40  Hear7  阅读(705)  评论(0编辑  收藏  举报