一、什么是assert近期在整理项目文档时发现一个Python的内置简单语句——assert断言语句,觉得很有意思,和大家一起分享一下。
断言语句是一种将调试断言插入程序的便捷方式,官方解释文档在这里:什么是assert?
可以理解为他是抛出异常的简单方法(自爆),也可以理解为他是严格的门禁保安,例如说遇到没有带门禁卡的人在他身上绑上炸弹再丢出去…
二、assert怎么用 1. assert格式assert 判断语句,抛出异常语句 我是下一条语句
当判断结果为True时,程序继续执行下一条语句
当判断结果为False时,程序中断,抛出自定义异常语句
换种思路理解就是,
if 判断语句:
下一条语句
else:
exit(自定义异常语句)
2 . 一句话异常抛出器
通常我们在函数运行前要验证一下参数的类型是否是我们想要的,一般会使用抛出异常的形式来验证。
这里我们可以使用assert断言语句实现一句话抛出异常的效果:
a=1 #type(a)为int b='1234' #type(b)为str assert type(a)==type(1) #验证变量a的类型是否与数字1的类型是否相同 #assert在这里相当于一道门,结果为true则开门继续,否则关门、 #由于变量a和数字1的类型都为int,所以这里开门,继续执行 a=b print(a) #输出 1234 #这时a的值已经变成了b,类型也不再和数字1相同,因此中断程序,抛出错误 assert type(a)==type(1),"变量a的类型和数字1的类型不同" #在这里程序检测为false,抛出异常不再继续执行



