assert断言语句用来声明某个条件是真的,其作用是测试一个条件(condition)是否成立,如果不成立,则抛出异常。
assert一般用法:
assert condition如果condition为false,就raise一个AssertionError出来。逻辑上等同于:
if not condition:
raise AssertionError()
assert condition,expression
if not condition:
raise AssertionError(expression)
assert使用示例:
# -*- coding: utf-8 -*-
v1 = 1
v2 = 2
assert (v1 < v2)
# assert (v1 > v2)
assert (v1 > v2),'{0} is not bigger than {1}'.format(v1,v2)
以上代码抛出异常:
Traceback (most recent call last):
File "xxx", line 8, in <module>
assert (v1 > v2),'{0} is not bigger than {1}'.format(v1,v2)
AssertionError: 1 is not bigger than 2
断言跟异常的区别:
异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性。
对一个函数而言,一般情况下,断言用于检查函数输入的合法性,要求输入满足一定的条件才能继续执行;
在函数执行过程中出现的异常情况使用异常来捕获。