Python 断言(assert)关键字被定义为一种调试工具,用于测试条件。断言主要是在程序中断言或确定某个事实。例如,在编写除法函数时,除数不应为零,您可以断言除数不等于零。

它仅是一个布尔表达式,其中包含一个条件或表达式,检查条件返回 true 还是 false。如果它为 true,则程序不执行任何操作,并移动到下一行代码。但是,如果为 false,则引发一个 AssertionError 异常,可以附带错误消息。

断言的主要任务是通知开发人员有关程序中不可恢复的错误,例如 "文件未找到",可以说断言是程序的内部自检。在任何应用程序开发领域中,它对于测试或质量保证都是至关重要的。断言关键字的语法如下所示。

语法

assert condition, error_message(optional)   

为什么使用断言

它是一种调试工具,其主要任务是检查条件。如果发现条件为 true,则继续执行下一行代码;如果不是,则停止所有操作并抛出错误。它指出代码中的错误。

在 Python 中何处使用断言

  • 检查函数的输出。
  • 用于测试代码。
  • 在检查参数值时,检查有效输入。

示例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.

解释: 在上面的示例中,我们将非空列表 scores2 和空列表 scores1 传递给 avg() 函数。我们成功地接收了 scores2 列表的输出,但在那之后,我们遇到了错误 AssertionError: List is empty。断言条件对于 scores2 列表是满足的,因此允许程序继续运行。但是,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 value is :

运行时异常:

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 解释器生成了运行时异常,并在控制台显示了 "除以 0 的错误"

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程