Python3断言操作

Python3断言操作 首页 / Python3入门教程 / Python3断言操作

Python assert关键字被定义为测试条件的调试工具。断言主要是在程序中自信地声明或陈述事实的假设。例如,在编写除法函数时,除数不应为零,并且您断言除数不等于零。

它只是具有条件的布尔表达式,或者表达式检查条件是否返回true或false。如果为true,则该程序不执行任何操作,并且移至下一行代码。但是,如果为假,则会引发 AssertionError 异常,并带有可选的错误消息。

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

assert condition, error_message(optional)  

它是一种调试工具,其主要任务是检查条件。如果发现条件为真,则移至代码的下一行;否则,停止所有操作并引发错误。它指出了代码中的错误。

使用断言的地方

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

此示例显示了使用错误消息进行断言的工作。

无涯教程网

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"

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

教程推荐

大模型微调实践课 -〔赵鹏昊/李杰〕

eBPF核心技术与实战 -〔倪朋飞〕

零基础实战机器学习 -〔黄佳〕

爱上跑步 -〔钱亮〕

.NET Core开发实战 -〔肖伟宇〕

设计模式之美 -〔王争〕

DevOps实战笔记 -〔石雪峰〕

玩转webpack -〔程柳锋〕

数据结构与算法之美 -〔王争〕

好记忆不如烂笔头。留下您的足迹吧 :)