assert(断言)
作用:声明布尔值必须为真的判定,布尔值为真,没有输出;如果布尔值为假,则会抛出异常,异常信息可以自己编写。反过来,就可以用来判断布尔值。
注:执行速度非常快,可以看做是代码的文档,所以需要使用时,不要犹豫。
语法**:assert 判断句1 and/or 判断句2,“抛出异常类型”
def my_div(value, dividend):
assert dividend != 0,"除数不能为0"
return value / dividend
print('[my_div(10, 2)]', my_div(10, 2)) # 执行成功,[my_div(10, 2)] 5.0
print('[my_div(10, 0)]', my_div(10, 0)) # 抛出异常, AssertionError: 除数不能为0
使用assert的时机
1. 通常情况传递参数不会有误,但编写大量的参数检查影响编程效率,而且不需要检查参数的合法性。
2. 排除非预期的结果
详细的使用时机参考下面文章:
re:http://blog.jobbole.com/76285/