本文概述
- 为什么使用断言
- 在Python中使用断言的地方
- 运行时异常
它只是具有条件的布尔表达式, 或者表达式检查条件是否返回true或false。如果为真, 则该程序不执行任何操作, 并且移至下一行代码。但是, 如果它为false, 则会引发AssertionError异常以及可选的错误消息。
断言的主要任务是通知开发人员程序中不可恢复的错误, 例如” 找不到文件” , 可以肯定地说断言是程序的内部自检。它们通过在代码中声明某些条件是不可能的来工作的。如果其中一个条件不成立, 则表示程序中存在错误。
为什么使用断言它是一种调试工具, 其主要任务是检查条件。如果发现条件为真, 则移至代码的下一行, 如果不是, 则停止所有操作并引发错误。它指出了代码中的错误。
在Python中使用断言的地方
- 检查功能的输出。
- 用于测试代码。
- 在检查参数值时。
- 检查有效输入。
assert condition, error_message(optional)
例1
此示例显示了使用错误消息进行断言的工作。
def avg(scores):
assert len(scores) != 0, "The List is empty."
return sum(scores)/len(scores)scores2 = [67, 59, 86, 75, 92]
print("The Average of scores2:", avg(scores2))scores1 = []
print("The Average of scores1:", avg(scores1))
输出
The Average of scores2: 75.8
AssertionError: The List is empty.
【Python调试工具(断言关键字assert)】说明:在上面的示例中, 我们向avg()函数传递了一个非空列表scores2和一个空列表scores1。我们成功收到了scores2列表的输出, 但是此后, 我们收到了一个错误AssertionError:List为空。assert2列表满足断言条件, 并使程序继续运行。但是, scores1不满足条件, 并给出了AssertionError。
范例2:
本示例在控制台中显示” 除以0的错误” 。
# initializing number
x = 7
y = 0
# It uses assert to check for 0
print ("x / y value is : ")
assert y != 0, "Divide by 0 error"
print (x / y)
输出
x / y valueis :
运行时异常
Traceback (most recent call last):
File "main.py", line 6, in <
module>
assert y != 0, "Divide by 0 error"
AssertionError: Divide by 0 error
说明:在上面的示例中, 我们初始化了一个整数变量, 即x = 7, y = 0, 并尝试将x / y的值打印为输出。由于assert关键字在控制台中显示” 0除以错误” , 因此编译器会生成” 运行时异常” 。
推荐阅读
- Python日期和时间处理完全解读
- 逆向分析|大神论坛 史上最全植物大战僵尸分析及游戏辅助Python实现
- xp系统下CAD图纸打开速度很慢如何处理|CAD图纸打开速度很慢的处理办法
- xp系统下怎样运用百度输入法输出日文
- xp系统下如何运用电驴下载资源【图文详细教程】
- win xp系统下Coreldraw如何插入图片【图文详细教程】
- win xp系统下爱奇艺PPS设置高渲染选项的办法
- winxp系统下怎样翻译CAD图纸及CAD工程图纸【图文详细教程】
- 雨林木风xp系统下怎样禁用usb设备接口