异常,在程序运行时出现非正常状况时会被抛出,好比常见的名称错误、键错误等。python
异常:spa
>>> s Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 's' is not defined >>>
断言,判断某个表达式的真假,真则程序继续执行,不然抛出 AssertionError 异常。code
断言:对象
>>> assert 3 < 2 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError >>>
断言可以帮助别人或将来的你理解代码,找出程序中逻辑不对的地方。一方面,断言会提醒你某个对象应该处于何种状态,另外一方面,若是某个时候断言为假,会抛出 AssertionError 异常,颇有可能终止程序。blog