Python assert关键字被定义为测试条件的调试工具。断言主要是在程序中自信地声明或陈述事实的假设。例如,在编写除法函数时,除数不应为零,并且您断言除数不等于零。
它只是具有条件的布尔表达式,或者表达式检查条件是否返回true或false。如果为true,则该程序不执行任何操作,并且移至下一行代码。但是,如果为假,则会引发 AssertionError 异常,并带有可选的错误消息。
断言的主要任务是通知开发人员程序中不可恢复的错误,例如"找不到文件",正确地说,断言是程序的内部自检。对于任何应用程序开发领域中的测试或质量保证,这都是最重要的。 assert关键字的语法如下。
assert condition, error_message(optional)
它是一种调试工具,其主要任务是检查条件。如果发现条件为真,则移至代码的下一行;否则,停止所有操作并引发错误。它指出了代码中的错误。
链接:https://www.learnfk.comhttps://www.learnfk.com/python3/python-assert-keyword.html
来源:LearnFk无涯教程网
此示例显示了使用错误消息进行断言的工作。
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.
说明:在上面的示例中,无涯教程将一个非空列表 scores2 和一个空列表 scores1 传递给了 avg() 函数。成功收到了 scores2 列表的输出,但是此后,收到了错误 AssertionError:The List is empty。断言条件由 scores2 列表满足,并允许程序继续运行。但是, scores1 不满足该条件,并给出AssertionError。
本示例在控制台中显示"Divide by 0 error"。
# 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)
输出:
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的值打印为输出。 Python解释程序生成了Runtime Exception,因为assert关键字发现除数为零,然后在控制台中显示"Divide by 0 error" 。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Tony Bai · Go语言第一课 -〔Tony Bai〕